diff --git a/.gitattributes b/.gitattributes index 54fab47..5b9b4e3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,3 +5,5 @@ LICENSE export-ignore package-lock.json export-ignore package.json export-ignore README.md export-ignore +gulpfile.js export-ignore +src export-ignore diff --git a/README.md b/README.md index 5936ca6..cb42d6c 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,14 @@ Sinta-se à vontade para ajudar a complementar o projeto com PR. ## Como instalar -Baixe a [Última Release](https://github.com/fluiggers/fluig-declaration-type/releases/latest) e descompacte os arquivos `fluig.d.ts` e `jsconfig.json` para o diretório principal do seu projeto Fluig. +Baixe a [Última Release](https://github.com/fluiggers/fluig-declaration-type/releases/latest) e descompacte os +arquivos `fluig.d.ts` e `jsconfig.json` para o diretório principal do seu projeto Fluig. +## Contribuição + +Sinta-se livre para fazer PRs para inserir novas descrições. + +Edite as declarações da pasta `src`, pois o arquivo `fluig.d.ts` será gerado concatenando todas as declarações desta pasta. ## Fontes de Documentação do Fluig Os principais documentos utilizados para elaborar essas declarações de tipos vieram de: diff --git a/fluig.d.ts b/fluig.d.ts index 88d2663..5ceed5e 100644 --- a/fluig.d.ts +++ b/fluig.d.ts @@ -1,5421 +1,5405 @@ +declare namespace com.totvs.technology.foundation.sdk.service.vo.common { + declare class OrderParam {} +} + /** - * Helper para acessar serviços do Fluig + * Tipos de campo de um Dataset + * + * Usado na criação do Dataset, na função defineStructure. */ -declare namespace fluigAPI { - /** - * Recupera serviço para tratar Notificações - */ - declare function getAlertService(): com.fluig.sdk.service.AlertService; +enum DatasetFieldType { + NUMBER, + STRING, + TEXT, + DATE, + BOOLEAN, +} - /** - * Recupera serviço para tratar Artigos - */ - declare function getArticleService(): com.fluig.sdk.service.ArticleService; +/** + * Cria uma coluna no dataset sincronizado + */ +declare function addColumn(coluna: string, tipo?: DatasetFieldType); - /** - * Recupera o serviço de autorização de cliente OAUTH - */ - declare function getAuthorizeClientService(): com.fluig.sdk.service.AuthorizeClientSdkService; + /** + * Cria a chave principal do dataset sincronizado + * + * Para uso dos métodos updateRecord, deleteRecord e addOrUpdate do dataset sincronizado. + */ +declare function setKey(chaves: string[]): void; - /** - * Recupera o serviço para tratar Card Index - */ - declare function getCardIndexService(): com.fluig.sdk.service.CardIndexService; + /** + * Cria um ou mais índices para maior performance na consulta do dataset sincronizado + */ +declare function addIndex(indices: string[]): void; +/** + * Tipos de Filtros (constraint) + * + * Usado para criar os filtros que serão repassados ao método getDataset. + * Usar nos eventos do Fluig ou na criação de Dataset customizado. + */ +enum ConstraintType { /** - * Recupera o serviço para tratar Cards + * Filtro: Deve Conter + * + * Interprete como o E lógico */ - declare function getCardService(): com.fluig.sdk.service.CardService; + MUST, /** - * Recupera o serviço para tratar colaboradores + * Filtro: Pode Conter + * + * Interprete como OU lógico */ - declare function getCollaborationService(): com.fluig.sdk.service.CollaborationSDKService; + SHOULD, /** - * Recupera serviço para tratar comentários + * Filtro: Não Deve Conter */ - declare function getCommentService(): com.fluig.sdk.service.CommentService; + MUST_NOT, +} - /** - * Recupera serviço para tratar Comunidades - */ - declare function getCommunityService(): com.fluig.sdk.service.CommunityService; +declare class Dataset { + const rowsCount: number; /** - * Recupera o serviço para tratar Upload de arquivos + * Retorna o valor de uma coluna (campo) em determinada linha (índice) */ - declare function getContentFilesService(): com.fluig.sdk.service.ContentFilesService; + getValue(linha: number, coluna: string): string; /** - * Recupera o serviço para tratar Documentos + * Cria uma coluna no Dataset + * + * @example + * var dataset = DatasetBuilder().newDataset(); + * dataset.addColumn("coluna1"); + * dataset.addColumn("coluna2"); + * dataset.addRow(["valor coluna 1", "valor coluna 2"]); */ - declare function getDocumentService(): com.fluig.sdk.service.DocumentService; + addColumn(coluna: string): void; /** - * Recupera serviço para tratar Favoritos + * Adicionar uma linha ao Dataset + * + * @example + * var dataset = DatasetBuilder().newDataset(); + * dataset.addColumn("coluna1"); + * dataset.addColumn("coluna2"); + * dataset.addRow(["valor coluna 1", "valor coluna 2"]); */ - declare function getFavoritesService(): com.fluig.sdk.service.FavoritesService; + addRow(valores: string[]|object[]): void; /** - * Recupera o serviço do Filter + * Adiciona uma linha à coleção que será persistida no cache de sincronização. + * + * Através dos campos da chave principal do Dataset (setKey) os registros + * serão localizados e alterados conforme os dados enviados pela função. + * + * Esta função só funciona se implementado na função onSync. + * + * @example + * var dataset = DatasetBuilder.newDataset(); + * dataset.addColumn("Coluna1"); + * dataset.addColumn("Coluna2"); + * dataset.updateRow(["Valor coluna 1", "Valor coluna 2"]); */ - declare function getFilterService(): com.fluig.sdk.service.FilterAPIService; + updateRow(valores: string[]|object[]): void; /** - * Recupera o serviço para tratar Pastas de documentos + * Adiciona uma linha à coleção que será persistida no cache de sincronização. + * + * Caso o registro não exista ele será criado na base, caso contrário será atualizado. + * + * Através dos campos da chave principal do Dataset (setKey) os registros + * serão localizados e alterados conforme os dados enviados pela função. + * + * Esta função só funciona se implementado na função onSync. + * + * @example + * var dataset = DatasetBuilder.newDataset(); + * dataset.addColumn("Coluna1"); + * dataset.addColumn("Coluna2"); + * dataset.addOrUpdateRow(["Valor coluna 1", "Valor coluna 2"]); */ - declare function getFolderDocumentService(): com.fluig.sdk.service.FolderDocumentService; + addOrUpdateRow(valores: string[]|object[]): void; /** - * Recupera serviço para tratar parâmetros gerais + * Adiciona uma linha à coleção que eliminará esses registros no cache de sincronização. + * + * Através dos campos da chave principal do Dataset (setKey) os registros + * serão localizados e alterados conforme os dados enviados pela função. + * + * Esta função só funciona se implementado na função onSync. + * + * @example + * var dataset = DatasetBuilder.newDataset(); + * dataset.addColumn("Coluna1"); + * dataset.addColumn("Coluna2"); + * dataset.deleteRow(["Valor coluna 1", "Valor coluna 2"]); */ - declare function getGlobalParameterService(): com.fluig.sdk.service.GlobalParameterService; + deleteRow(valores: string[]|object[]): void; +} +/** + * Resultado de uma consulta ao Dataset usando o WCM + * + * Disponível somente nas páginas que usam o arquivo /webdesk/vcXMLRPC.js. + */ +interface DatasetWcmResult { /** - * Recupera o serviço para tratar grupo + * O nome das colunas */ - declare function getGroupService(): com.fluig.sdk.service.GroupService; - - declare function getHelpService(): com.fluig.sdk.service.DocumentationProxyServiceService; + columns: string[]; /** - *Recupera o serviço para tratar feriados + * As propriedades do objeto são os nomes das colunas */ - declare function getHolidayService(): com.fluig.sdk.service.HolidayAPIService; + values: object[]; +} +/** + * Indicativo das restrições ao sincronizar dados em Mobile + */ +interface DatasetMobileSync { /** - * Recupera serviço para tratar linguagem + * As colunas (em letras maiúsculas) a serem salvas no Mobile */ - declare function getI18NService(): com.fluig.sdk.service.I18NService; - - declare function getIdentityService(): com.fluig.sdk.service.IdentityService; + fields: string[]; /** - * Recupera serviço para Jobs do agendador de tarefas + * Os filtros adicionais */ - declare function getJobService(): com.fluig.sdk.service.JobService; + constraints: Constraint[]; /** - * Recupera o LocalAPIService + * Campos da ordenação */ - declare function getLocalService(): com.fluig.sdk.service.LocalAPIService; + sortFields: string[]; +} +/** + * Formato de Callback para consulta assíncrona ao Dataset usando o WCM + * + * Disponível somente nas páginas que usam o arquivo /webdesk/vcXMLRPC.js. + */ +interface DatasetWcmCallback { /** - * Recupera serviço para tratar páginas + * Função que será executada em caso de sucesso */ - declare function getPageService(): com.fluig.sdk.service.PageService; + success: function (DatasetWcmResult); /** - * Recupera serviço para tratar página de widgets + * Função que será executada em caso de falha + * + * @param jqXHR Objeto da JQuery + * @param textStatus + * @param errorThrown */ - declare function getPageWidgetService(): com.fluig.sdk.service.PageWidgetService; + error: function (object, string, string): void; +} + +declare class Constraint { + fieldName: string; + initialValue: string; + finalValue: string; + constraintType: ConstraintType; /** - * Recupera serviço para tratar Post + * Indica que a constraint fará uma busca usando LIKE ao invés de = */ - declare function getPostService(): com.fluig.sdk.service.PostService; + setLikeSearch(likeSearch: boolean): void; + + getFieldName(): string; + getInitialValue(): string; + getFinalValue(): string; +} +/** + * Funções para manipulação de Dataset + */ +declare namespace DatasetFactory { /** - * Recupera serviço para efetuar pesquisas + * Retorna o nome dos datasets disponíveis + * + * Para usar no HTML de formulário o arquivo vcXMLRPC.js precisa ser declarado: */ - declare function getSearchService(): com.fluig.sdk.service.SearchService; + declare function getAvailableDatasets(): string[]; /** - * Recupera o serviço de segurança + * Cria uma constraint para ser usada no método getDataset + * + * Para usar no HTML de formulário o arquivo vcXMLRPC.js precisa ser declarado: + * Para fazer uma pesquisa usando LIKE pelo formulário deve-se passar true no parâmetro searchLike ao invés de usar o método + * setLikeSearch do objeto Constraint. */ - declare function getSecurityService(): com.fluig.sdk.service.SecurityService; + declare function createConstraint(fieldName: string, initialValue: string, finalValue: string, constraintType: ConstraintType): Constraint; + declare function createConstraint(fieldName: string, initialValue: string, finalValue: string, constraintType: ConstraintType, searchLike: boolean): Constraint; /** - * Recupera serviço para tratar Breadcrumb do Social + * Pesquisa os dados de um dataset + * + * Para usar no HTML de formulário o arquivo vcXMLRPC.js precisa ser declarado: + * + * @param nomeDataset O nome do Dataset. + * @param campos Os campos que serão retornados. + * @param constraints Os filtros aplicados ao dataset. + * @param ordem Os campos que farão a ordenação do resultado. Pode-se acrescentar ;desc ao nome do campo para ordenar de forma decrescente. + * + * @example + * var constraints = [ + * DatasetFactory.createConstraint("colleaguePK.colleagueId", "adm", "adm", ConstraintType.MUST_NOT), + * DatasetFactory.createConstraint("valor", "100", "999", ConstraintType.MUST) + * ]; + * var dataset = DatasetFactory.getDataset("colleague", ["colleagueName"], constraints); */ - declare function getSocialBreadcrumbService(): com.fluig.sdk.service.SocialBreadcrumbService; + declare function getDataset(nomeDataset: string, campos?: string[], constraints?: Constraint[], ordem?: string[]): Dataset; /** - * Recupera serviço do social - */ - declare function getSocialService(): com.fluig.sdk.service.SocialSDKService; + * Pesquisa os dados de um dataset de forma assíncrona + * + * Disponível somente nas páginas que usam o arquivo /webdesk/vcXMLRPC.js. + * + * @example + * var constraints = [ + * DatasetFactory.createConstraint("colleaguePK.colleagueId", "adm", "adm", ConstraintType.MUST_NOT), + * DatasetFactory.createConstraint("valor", "100", "999", ConstraintType.MUST) + * ]; + * var dataset = DatasetFactory.getDataset("colleague", ["colleagueName"], constraints); + */ + declare function getDataset(nomeDataset: string, campos?: string[], constraints?: Constraint[], ordem?: string[], callback: DatasetWcmCallback): void; +} +/** + * Funções para criação de Dataset + */ +declare namespace DatasetBuilder { /** - * Recupera o serviço de TagsCloud + * Cria um Dataset + * + * Usar somente ao criar datasets customizados. */ - declare function getTagsCloudService(): com.fluig.sdk.service.TagsCloudService; + declare function newDataset(): Dataset; +} + +/** + * Tipos de Documento + * + * Esse enum não existe no Fluig e foi criado somente para + * facilitar a identificação dos tipos de documento. + * + * No Fluig utilize somente os valores ao fazer as comparações. + */ +enum DocumentTypeEnum { + PASTA_RAIZ = '0', + PASTA = '1', + DOCUMENTO_NORMAL = '2', + DOCUMENTO_EXTERNO = '3', + FORMULARIO = '4', + FICHA = '5', + ANEXO_WORKFLOW = '7', + NOVO_CONTEUDO = '8', + APLICATIVO = '9', + RELATORIO = '10', + PASTA_SOCIAL = '15', + SITE = 'portal', + PAGINA_DE_SITE = 'portalPage', +} + +/** + * Entidade Documento Relacionado + */ +declare class RelatedDocumentDto { /** - * Recupera serviço para tratar Tasks + * Retorna o número do documento + * + * Usar em eventos do Fluig. */ - declare function getTasksService(): com.fluig.sdk.service.TasksService; + getDocumentId(): number; /** - * Recupera o serviço para Tenant + * Retorna o número do documento relacionado + * + * Usar em eventos do Fluig. */ - declare function getTenantService(): com.fluig.sdk.service.TenantService; + getRelatedDocumentId(): number; /** - * Recupera o serviço para tratar Usuário + * Retorna a versão do documento + * + * Usar em eventos do Fluig. */ - declare function getUserService(): com.fluig.sdk.service.UserService; + getVersion(): number; /** - * Recupera o serviço de widgets + * Retorna o código da empresa em que o documento foi publicado + * + * Usar em eventos do Fluig. */ - declare function getWidgetService(): com.fluig.sdk.service.WidgetService; + getCompanyId(): number; +} +/** + * Funções relacionadas a Documentos + * + * Usar em qualquer evento. + */ +declare namespace docAPI { /** - * Recupera o serviço para tratar Workflow + * Copia os arquivos físicos de um documento existente para a área de upload do usuário logado + * @returns Nomes dos arquivos que foram disponibilizados na área de upload */ - declare function getWorkflowService(): com.fluig.sdk.service.WorkflowAPIService; + declare function copyDocumentToUploadArea(documentId: number, version: number): string[]; } /** - * Serviços do Fluig + * Entidade Aprovador */ -declare namespace com.fluig.sdk.service { +declare class ApproverDto { + /** - * Fornece acesso aos serviços de notificações + * Pega o número do aprovador */ - declare class AlertService { - /** - * Método que conta os alertas não lidos de um usuário. - */ - countUnreadAlerts(receiverId: number): number; - - /** - * Método que conta os alertas de um modulo não lidos de um usuário - */ - countUnreadAlertsByModule(module: string, receiverId: number): number; + getapproverId(): number; - /** - * Get the number of notification in the tenant - */ - getTenantTotalOfNotification(): number; + /** + * Pega a versão do aprovador + */ + getVersion(): number; - /** - * Busca os alertas com ação vinculada, do usuário logado ordenado pela data de criação. - */ - listAlertsWithAction(limit: number, offset: number): java.util.List + /** + * Pega o código da empresa na qual o aprovador foi publicado + */ + getCompanyId(): number; - /** - * Busca os alertas com nota, do usuário logado ordenado pela data de criação. - */ - listAlertsWithNote(limit: number, offset: number): java.util.List + /** + * Pega a matrícula do colaborador que criou o aprovador + */ + getColleagueId(): number; - /** - * Retorna todas as notificações do usuário logado ordenadas pela data de criação. - */ - listAllAlerts(limit: number, offset: number): java.util.List + /** + * Pega o tipo de aprovação Pode ser 0 para Colaborador ou 1 para Grupo + */ + getApproverType(): number; - /** - * Retorna todas as notificações de um usuário por um único módulo - */ - listAllAlertsByModule(module: string, limit: number, offset: number): java.util.List + /** + * Pega o nível de aprovação no caso de aprovação em níveis + */ + getLevelId(): number; +} - /** - * Método marca os alertas informados de um usuário também dado como lidos - */ - markAlertAsRead(loginReceiver: string, alertsId: java.util.List): void; +/** + * Entidade Documento para usar nos Eventos + */ +declare class DocumentDto { - /** - * Método marca todos os alertas de um usuário como lidos. - */ - markAllAlertsAsRead(loginReceiver: string): void; + /** + * Pega o número do documento + */ + getDocumentId(): number; - /** - * Método que remove os alertas informados de um usuário também dado, esse método também é responsável por remover os senders, places e objects relacionado aos alertas - */ - removeAlerts(loginSender: string, alertsId: java.util.List): void; + /** + * Pega a versão do documento + */ + getVersion(): number; - /** - * Salva a configuração de um usuário para receber ou não alertas de um dado evento através de um dado aplicativo. - */ - saveConfiguration(alertConfig: com.fluig.sdk.api.alert.AlertConfigVO): void; + /** + * Pega o código da empresa em que o documento foi publicado + */ + getCompanyId(): number; - /** - * Método que deve ser invocado por todos os módulos do sistema para enviar alertas. - */ - sendNotification(eventKey: string, loginSender: string, loginReceiver: string, object: com.fluig.sdk.api.alert.AlertVO, place: com.fluig.sdk.api.alert.AlertVO, actions: java.util.List, metadata: java.util.HashMap): void; - } - declare class ArticleService {} + /** + * Pega o UUID do documento + */ + getUUID(): string; /** - * Cliente para requisições externas usando autenticação do Fluig + * Pega o tipo do arquivo físico. Se retornar em branco ou nulo é um tipo desconhecido */ - declare class AuthorizeClientSdkService { - /** - * Executa a chamada ao WS - * - * O parâmetro passado deve ser um objeto convertido em string (JSON.stringfy) com as seguintes propriedades: - * - * - companyId; - * - serviceCode: ID do serviço cadastrado no Fluig; - * - endpoint; - * - method: Método HTTP (GET, POST, PUT, DELETE); - * - timeoutService (em segundos); - * - params: Objeto com os valores a serem enviados na requisição; - * - headers: Objeto com os valores a serem enviados no cabeçalho; - * - options: Objeto com as propriedades da requisição: - * - encoding (padrão UTF-8) - * - mediaType (padrão application/json) - * - useSSL (padrão false) - * - * @tutorial https://tdn.totvs.com/pages/releaseview.action?pageId=239041233#Autoriza%C3%A7%C3%A3oparaclientdeServi%C3%A7osREST-Consumindooservi%C3%A7ocomautentica%C3%A7%C3%A3oOAuth1,OAuth2,BasicAuthentication,CustomAuthenticationeNoneAuthentication - */ - invoke(data: string): com.fluig.sdk.api.authorizeclient.AuthorizeClientSdkServiceVO; - } - declare class CardIndexService {} - declare class CardService {} - declare class CollaborationSDKService {} - declare class CommentService {} - declare class CommunityService {} - declare class ContentFilesService {} + getDocumentTypeId(): string; + /** - * Fornece acesso aos serviços de documentos (GED) + * Pega o código do idioma do documento */ - declare class DocumentService { - /** - * Aprova ou reprova um documento. - */ - approveDocument(documentId: number, version: number, approved: boolean, observation: string): void; + getLanguageId(): string; - /** - * Copia o documento que esta na área de upload - */ - copyDocumentToUploadArea(documentId: number): string[]; + /** + * Pega o código do ícone do documento + */ + getIconId(): number; - /** - * Cria o documento com permissões e aprovadores - */ - createDocument(documentVO: com.fluig.sdk.api.document.DocumentVO): com.fluig.sdk.api.document.DocumentVO; + /** + * Pega o código do assunto do documento + */ + getTopicId(): number; - /** - * Cria uma documento privado - */ - createPrivateDocument(companyId: number, userId: string, fileName: string, file: File): com.fluig.sdk.api.document.DocumentVO; + /** + * Pega a matrícula do colaborador que criou o documento + */ + getColleagueId(): string; - /** - * Cria uma documento privado - */ - createPrivateDocument(companyId: number, userId: string, fileName: string, filePath: string): com.fluig.sdk.api.document.DocumentVO; - - /** - * Remove o documento - */ - deleteDocument(documentId: number): void; + /** + * Pega a descrição do documento + */ + getDocumentDescription(): string; - /** - * Retorna o documento ativo passado o ID do mesmo. - */ - getActive(documentId: number): com.fluig.sdk.api.document.DocumentVO + /** + * Pega os comentários adicionais do documento + */ + getAdditionalComments(): string; - /** - * Retorna documento com as informações de checkout - */ - getAllocatedDocument(documentId: number, version: number): com.fluig.sdk.api.document.AllocatedDocumentVO; + /** + * Pega o caminho físico do documento + */ + getPhisicalFile(): string; - getCurrentUserPermission(documentId: number): com.fluig.sdk.api.document.SolvedPermissionVO; + /** + * Pega a data de criação do documento + */ + getCreateDate(): Date; - /** - * Return the approvement history of the document - */ - getDocumentApprovalHistory(documentId: number): java.util.List; + /** + * Pega a data de aprovação do documento + */ + getApprovedDate(): Date; - /** - * Retrieve all document approvers and yours status. - */ - getDocumentApprovers(documentId: number): java.util.List; + /** + * Pega a data da última modificação do documento + */ + getLastModifiedDate(): Date; - /** - * Retorna as permissões do documento - */ - getDocumentPermissions(documentId: number, version: number): java.util.List; + /** + * Pega a data da última modificação do documento + */ + getExpirationDate(): Date; - /** - * Retorna a url do documento - */ - getDownloadURL(documentId: number): string; + /** + * Pega o tipo do documento + */ + getDocumentType(): DocumentTypeEnum; - /** - * Retorna a permissão do usuário em um documento. - */ - getUserPermissions(documentId: number, version: number, user: string): number; + /** + * Pega o número da pasta/formulário pai + */ + getParentDocumentId(): number; - /** - * Set Approvers for a specific document - */ - setDocumentApprovers(documentId: number, documentSecurityVO: com.fluig.sdk.api.document.DocumentSecurityVO): void; + /** + * Pega o nome do arquivo físico principal e anexos + */ + getRelatedFiles(): number; - /** - * Determina as permissões do documento - */ - setDocumentPermissions(documentId: number, permissions: java.util.List): void; + /** + * Verifica se o documento está ativo + */ + getActiveVersion(): boolean; - /** - * Update file - */ - updateFile(docVO: com.fluig.sdk.api.document.DocumentVO): com.fluig.sdk.api.document.DocumentVO; + /** + * Pega a descrição da versão + */ + getVersionDescription(): string; - /** - * Valida configurações de documento - */ - validateDocumentPublicUrlConfiguration(tenantId: number, documentId: number, version: number): void; - } - declare class DocumentationProxyServiceService {} - declare class FavoritesService {} - declare class FilterAPIService {} + /** + * Verifica se o documento permite download + */ + getDownloadEnabled(): boolean; /** - * Fornece acesso aos serviços de pastas (GED) + * Verifica se o documento está em aprovação */ - declare class FolderDocumentService { - /** - * Criação de uma nova pasta - */ - create(vo: com.fluig.sdk.api.document.FolderVO): com.fluig.sdk.api.document.FolderVO; + getApproved(): boolean; - /** - * Recupera um documento através do id - */ - get(documentId: number): com.fluig.sdk.api.document.DocumentVO; + /** + * Pega a data a partir que o documento poderá ser visualizado + */ + getValidationStartDate(): Date - /** - * Recupera lista de documentos através do id da pasta - */ - list(folderId: number): java.util.List; + /** + * Pega a matrícula do colaborador que publicou o documento + */ + getPublisherId(): string; - /** - * Recupera lista de documentos através do id da pasta - */ - list(folderId: number, permission: number): java.util.List; + /** + * Pega a descrição da ficha para documento do tipo 5 + */ + getCardDescription(): string; - /** - * Retorna os documentos de uma pasta - */ - listDocumentsByFolder(folderVO: com.fluig.sdk.api.document.FolderVO, limit: number, offset: number): java.util.List; + /** + * Pega o formulário que foi usado como base para criação da ficha. + * + * Utilizado somente com documento do tipo 5. + */ + getDocumentPropertyNumber(): number; - /** - * Atualiza documento ou pasta - */ - updateDocumentDescription(companyId: number, documentId: number, description: string): com.fluig.sdk.api.document.DocumentVO; - } - declare class GlobalParameterService {} - declare class GroupService {} - declare class HolidayAPIService {} - declare class I18NService {} - declare class IdentityService {} - declare class JobService {} - declare class LocalAPIService {} + /** + * Pega a versão do formulário em que a ficha foi criada + */ + getDocumentPropertyVersion(): number; /** - * Serviço para tratar páginas + * Pega o código da empresa em que o documento foi publicado */ - declare class PageService { - createPageDraftFromVersion(pageCode: string, pageVersion: number): void; - disable(pageCode: string): void; - enable(pageCode: string): void; + getCompanyId(): number; - /** - * Retorna itens de menu da página - */ - findMenuFromPage(pageCode: string): java.util.List; + /** + * Verifica se o documento/pasta está abaixo de pasta particular + */ + getPrivateDocument(): boolean; - /** - * Consulta páginas do fluig - */ - findPages(parentPageCode: string, isMobile: boolean, filter: string, start: number, size: number, searchLevel: number, internalPages: boolean): java.util.List; - findPages(parentPageCode: string, isMobile: boolean, filter: string, start: number, size: number, searchLevel: number, internalPages: boolean, codePage: string): java.util.List; + /** + * Pega a matrícula do colaborador onde o documento particular está alocado + */ + getPrivateColleagueId(): string; - /** - * Retorna a URL do servidor - */ - getServerURL(): string; + /** + * Verifica se o arquivo foi indexado + */ + getIndexed(): boolean; - /** - * Recupera os valores de preferências para uma instância de uma widget. - */ - getWidgetPreferences(instanceId: number): java.util.HashMap; + /** + * Pega a prioridade do documento + */ + getPriority(): number; - mobileMapping(pageCode: string): com.fluig.sdk.page.PageMobileApiVO; + /** + * Verifica se notifica os usuários que tenham esse assunto de interesse + */ + getUserNotify(): boolean; - hide(pageCode: string): void; + /** + * Verifica se o documento está expirado + */ + getExpires(): boolean; - publishPageDraft(pageCode: string, publicationDescription: string): void; + /** + * Pega o volume onde o documento foi publicado. Se estiver em branco foi no volume pai. + */ + getVolumeId(): string; - pageHistory(pageCode: string): java.util.List; + /** + * Verifica se herda segurança do pai + */ + getInheritSecurity(): boolean; - /** - * Recarrega o layout de uma página - */ - reloadPageLayout(pageCode: string): void; + /** + * Verifica se atualiza as propriedades da cópia controlada + */ + getUpdateIsoProperties(): boolean; - /** - * Seta o valor de uma preferência para uma instância de uma widget - */ - setWidgetPreference(instanceId: number, key: string, value: string): void; + /** + * Pega a hora da última modificação em milissegundos + */ + getLastModifiedTime(): string; - show(pageCode: string): void; - } + /** + * Verifica se o documento está na lixeira + */ + getDeleted(): boolean; - declare class PageWidgetService {} - declare class PostService {} - declare class SearchService {} + /** + * Pega o documento do dataset se o documento é um formulário + */ + getDatasetName(): string; - declare class SecurityService { - /** - * Verifica se o usuário logado possui determinada permissão no recurso informado - */ - hasPermission(resource: string, permission: string): boolean; + /** + * Pega as palavras-chave do documento. Cada palavra é separada por vírgula. + */ + getKeyWord(): string; - /** - * Lista os recursos da categoria - */ - listResourcesByCategory(category: string, filter: string, offset: number, limit: number): java.util.List + /** + * Verifica se a versão/revisão é inalterável + */ + getImutable(): boolean; - /** - * Lista as permissões do recurso informado - */ - getPermissionsByResourceCode(resourceCode: string): java.util.List + /** + * Verifica se o documento está em edição, para documento do tipo "Novo Conteúdo" + */ + getDraft(): boolean; - /** - * Crias as permissões para o recurso - */ - createPermissions(resourceCode: string, permissions: java.util.List): void; + /** + * Verifica se utiliza visualizador interno + */ + getInternalVisualizer(): boolean; - /** - * Remove as permissões do recurso - */ - deletePermissions(resourceCode: string, permissions: java.util.List): void; - } + /** + * Pega o tamanho físico do documento principal e anexos + */ + getPhisicalFileSize(): number; +}; - declare class SocialBreadcrumbService {} - declare class SocialSDKService {} - declare class TagsCloudService {} - declare class TasksService {} - declare class TenantService {} +/** + * Entidade Segurança do Documento + */ +declare class DocumentSecurityConfigDto { /** - * Fornece acesso aos serviços de usuário + * Pega o número do documento */ - declare class UserService { + getDocumentId(): number; - /** - * Adiciona um usuário a um grupo - */ - addUserToGroup(tenantId: number, groupCode: string, userVO: com.fluig.sdk.user.UserVO): void; + /** + * Pega a versão do documento + */ + getVersion(): number; - /** - * Change the user password - */ - changeUserPassword(vo: com.fluig.sdk.user.UserPasswordVO): void; + /** + * Pega o código da empresa em que o documento foi publicado + */ + getCompanyId(): number; - /** - * Cria um novo usuário - */ - create(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; - create(tenantId: number, vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + /** + * Pega a matrícula de um colaborador ou o código do grupo que está na segurança do documento + * + * É possível saber se vai retornar um colaborador ou um grupo pelo tipo da segurança. + * Retorna em branco quando o tipo é todos os usuários + */ + getAttributionValue(): string; - /** - * Retorna o usuário pelo id - */ - findById(id: number): com.fluig.sdk.user.UserVO + /** + * Verifica se é uma permissão + * + * Se não é uma permissão é uma restrição. + */ + getPermission(): boolean; - /** - * Retorna o usuário pelo login - */ - findByLogin(login: string): com.fluig.sdk.user.UserVO + /** + * Verifica se lista o conteúdo + */ + getShowContent(): boolean; - /** - * Retorna usuário pelo ID - */ - findByUserCode(colleagueId: string): com.fluig.sdk.user.UserVO + /** + * Pega o nível de permissão/restrição. + * + * Tipos de permissão/restrição: + * - -1: Sem permissão/restrição (nega acesso) + * - 0: Leitura + * - 1: Gravação + * - 2: Modificação + * - 3: Total + */ + getAttributionType(): number; - /** - * Retorna o usuário corrente logado - */ - getCurrent(): com.fluig.sdk.user.UserVO + /** + * Pega a sequência da permissão/restrição + */ + getSequence(): number; - /** - * Pesquisa por usuários baseado em um conjunto de parâmetros. - */ - list(offset: number, limit: number): java.util.List; - list(params: java.util.HashMap, offset: number, limit: number): java.util.List; - list(sortField: string, sortType: string, limit: number, offset: number, search: string): java.util.List; + /** + * Verifica se ele utiliza a segurança desta versão nas demais + */ + getSecurityVersion(): boolean; +}; - /** - * Pesquisa por usuários ativos e inativos baseado em um conjunto de parâmetros. - */ - listAll(sortField: string, sortType: string, limit: number, offset: number, search: string): java.util.List; +/** + * Helper para acessar serviços do Fluig + */ + declare namespace fluigAPI { + /** + * Recupera serviço para tratar Notificações + */ + declare function getAlertService(): com.fluig.sdk.service.AlertService; - /** - * Pega todos os dados do usuário especificado pelo login - */ - listData(login: string): java.util.HashMap; + /** + * Recupera serviço para tratar Artigos + */ + declare function getArticleService(): com.fluig.sdk.service.ArticleService; - /** - * Pega todos os grupos do usuário especificado pelo login - */ - listGroups(login: string): java.util.List; + /** + * Recupera o serviço de autorização de cliente OAUTH + */ + declare function getAuthorizeClientService(): com.fluig.sdk.service.AuthorizeClientSdkService; - /** - * Pega todos os papéis do usuário especificado pelo login - */ - listRoles(login: string): java.util.List; + /** + * Recupera o serviço para tratar Card Index + */ + declare function getCardIndexService(): com.fluig.sdk.service.CardIndexService; - /** - * Remove dados do usuário - */ - removeUserData(alias: string, key: string): void; + /** + * Recupera o serviço para tratar Cards + */ + declare function getCardService(): com.fluig.sdk.service.CardService; - /** - * Atualiza o usuário - */ - updateUser(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + /** + * Recupera o serviço para tratar colaboradores + */ + declare function getCollaborationService(): com.fluig.sdk.service.CollaborationSDKService; - /** - * Atualiza os dados do usuário logado - */ - updateUserData(data: java.util.HashMap): boolean; + /** + * Recupera serviço para tratar comentários + */ + declare function getCommentService(): com.fluig.sdk.service.CommentService; - /** - * Atualiza os dados do usuário procurando pelo ID - */ - updateUserDataById(data: java.util.HashMap, userId: string): boolean; + /** + * Recupera serviço para tratar Comunidades + */ + declare function getCommunityService(): com.fluig.sdk.service.CommunityService; - /** - * Atualiza usuário mesmo que esteja desabilitado (inativo) - */ - updateUserEvenDisabled(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; - } - declare class WidgetService {} + /** + * Recupera o serviço para tratar Upload de arquivos + */ + declare function getContentFilesService(): com.fluig.sdk.service.ContentFilesService; /** - * Fornece acesso aos serviços de workflow + * Recupera o serviço para tratar Documentos */ - declare class WorkflowAPIService { - /** - * Faz com que o usuário repassado assuma a tarefa - */ - assumeProcessTask(assumeProcessTaskVO: com.fluig.sdk.api.workflow.AssumeProcessTaskVO): com.fluig.sdk.api.workflow.AssumeProcessTaskResultVO; - assumeProcessTask(companyId: number, userId: string, processInstanceId: number, movementSequence: number, replacementId: string): com.fluig.sdk.api.workflow.ProcessTaskVO; + declare function getDocumentService(): com.fluig.sdk.service.DocumentService; - /** - * Faz com que os usuários repassados assumam as tarefas vinculadas aos mesmos - */ - assumeProcessTasks(assumeProcessTasksVO: com.fluig.sdk.api.workflow.AssumeProcessTasksVO): com.fluig.sdk.api.workflow.AssumeProcessTaskResultVO; + /** + * Recupera serviço para tratar Favoritos + */ + declare function getFavoritesService(): com.fluig.sdk.service.FavoritesService; - cancelInstance(cancelInstanceVO: com.fluig.sdk.api.workflow.CancelInstanceVO): com.fluig.sdk.api.workflow.CancelInstanceResultVO; - cancelInstances(cancelInstanceVO: com.fluig.sdk.api.workflow.CancelInstancesVO): com.fluig.sdk.api.workflow.CancelInstancesResultVO; + /** + * Recupera o serviço do Filter + */ + declare function getFilterService(): com.fluig.sdk.service.FilterAPIService; - /** - * Insere um complemento em uma solicitação - */ - createProcessObservation(processObservationVO: com.fluig.sdk.api.workflow.ProcessObservationVO): com.fluig.sdk.api.workflow.ProcessObservationVO; + /** + * Recupera o serviço para tratar Pastas de documentos + */ + declare function getFolderDocumentService(): com.fluig.sdk.service.FolderDocumentService; - findAssignedToMeTasks(processId: string, initialStartDate: string, finalStartDate: string, requester: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + /** + * Recupera serviço para tratar parâmetros gerais + */ + declare function getGlobalParameterService(): com.fluig.sdk.service.GlobalParameterService; - findManagedByMeTasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, requester: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + /** + * Recupera o serviço para tratar grupo + */ + declare function getGroupService(): com.fluig.sdk.service.GroupService; - /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como requisitante - */ - findMyRequestsSLA(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, assignee: string, manager: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; - - findMyRequestsTasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + declare function getHelpService(): com.fluig.sdk.service.DocumentationProxyServiceService; - /** - * Retorna a lista de complementos em uma solicitação - */ - findObservations(processInstanceId: number, stateSequence: number, threadSequence: number): java.util.List; + /** + *Recupera o serviço para tratar feriados + */ + declare function getHolidayService(): com.fluig.sdk.service.HolidayAPIService; - /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável - */ - findRequestSLAByProcessInstanceId(processInstanceId: number, populateCurrentTasks: boolean, calculate: boolean, populateCardFields: boolean, populateLocals: boolean, assigneeLocals: boolean): com.fluig.sdk.api.workflow.RequestSLAVO; - findRequestSLAByProcessInstanceId(processInstanceId: string, expand: string, calculate: string): com.fluig.sdk.api.workflow.RequestSLAVO; + /** + * Recupera serviço para tratar linguagem + */ + declare function getI18NService(): com.fluig.sdk.service.I18NService; - /** - * Recupera uma lista das solicitações de SLA dos processos configurados - */ - findRequestsSLA(): java.util.LinkedHashSet; - findRequestsSLA(processes: java.util.List): java.util.LinkedHashSet; - findRequestsSLA(processes: java.util.List, statusRequiredList: java.util.List): java.util.LinkedHashSet; - findRequestsSLA(processes: java.util.List, statusRequiredList: java.util.List, returnCurrentTasks: boolean): java.util.LinkedHashSet; - findRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, statusRequiredList: java.util.List, returnCurrentTasks: boolean): java.util.LinkedHashSet; - findRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, statusRequiredList: java.util.List, initialStartDate: Date, finalStartDate: Date, initialDeadlineDate: Date, finalDeadlineDate: Date, initialWarningDate: Date, finalWarningDate: Date, returnCurrentTasks: boolean, requester: string, assignee: string, manager: string, requesterLocals: java.util.List, assigneeLocals: java.util.List, orderParams: java.util.List, calculate: boolean, page: number, pageSize: number, populateCardFields: boolean, populateLocalsValue: boolean, populateAssigneeLocalsValue: boolean): java.util.LinkedHashSet; - findRequestsSLA(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, assignee: string, manager: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; + declare function getIdentityService(): com.fluig.sdk.service.IdentityService; - /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável - */ - findRequestsSLAAssignedToMe(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, manager: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; + /** + * Recupera serviço para Jobs do agendador de tarefas + */ + declare function getJobService(): com.fluig.sdk.service.JobService; - /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como gestor - */ - findRequestsSLAManagedByMe(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, assignee: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; + /** + * Recupera o LocalAPIService + */ + declare function getLocalService(): com.fluig.sdk.service.LocalAPIService; - findSLATasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, requester: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + /** + * Recupera serviço para tratar páginas + */ + declare function getPageService(): com.fluig.sdk.service.PageService; - /** - * Retorna uma lista das atividades pendentes de um processo - */ - getActiveTasks(processInstanceId: number): com.fluig.sdk.api.workflow.ProcessInstanceInfoVO; + /** + * Recupera serviço para tratar página de widgets + */ + declare function getPageWidgetService(): com.fluig.sdk.service.PageWidgetService; - /** - * Retorna uma lista de processos disponíveis para o usuário - */ - getAvailableProcess(tenantId: number, userId: string): java.util.List; + /** + * Recupera serviço para tratar Post + */ + declare function getPostService(): com.fluig.sdk.service.PostService; - /** - * Retorna a versão de um processo - */ - getProcessVersion(processId: string): number; + /** + * Recupera serviço para efetuar pesquisas + */ + declare function getSearchService(): com.fluig.sdk.service.SearchService; - /** - * Retorna todos os processos da empresa - */ - listProcess(pattern: string, limit: number, offset: number): java.util.List; + /** + * Recupera o serviço de segurança + */ + declare function getSecurityService(): com.fluig.sdk.service.SecurityService; - /** - * Retorna todos os processos da empresa - */ - listSlaProcess(): java.util.List; + /** + * Recupera serviço para tratar Breadcrumb do Social + */ + declare function getSocialBreadcrumbService(): com.fluig.sdk.service.SocialBreadcrumbService; - resumeAssignedToMeTasks(processId: string, startDate: string, endDate: string, requester: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; - resumeManagedByMeTasks(processId: string, startDate: string, endDate: string, requester: string, assignee: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + /** + * Recupera serviço do social + */ + declare function getSocialService(): com.fluig.sdk.service.SocialSDKService; - /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como requisitante - */ - resumeMyRequestsSLA(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, assignee: string, manager: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + /** + * Recupera o serviço de TagsCloud + */ + declare function getTagsCloudService(): com.fluig.sdk.service.TagsCloudService; - resumeMyRequestsTasks(processId: string, startDate: string, endDate: string, assignee: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + /** + * Recupera serviço para tratar Tasks + */ + declare function getTasksService(): com.fluig.sdk.service.TasksService; - /** - * Recupera um resumo dos indicadores de SLA dos processos configurados - */ - resumeRequestsSLA(): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - resumeRequestsSLA(processes: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, countersRequiredList: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, countersRequiredList: java.util.List, initialStartDate: Date, finalStartDate: Date, initialDeadlineDate: Date, finalDeadlineDate: Date, initialWarningDate: Date, finalWarningDate: Date, requester: string, assignee: string, manager: string, requesterLocalsList: java.util.List, assigneeLocalsList: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - resumeRequestsSLA(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, assignee: string, manager: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + /** + * Recupera o serviço para Tenant + */ + declare function getTenantService(): com.fluig.sdk.service.TenantService; - /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável - */ - resumeRequestsSLAAssignedToMe(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, manager: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + /** + * Recupera o serviço para tratar Usuário + */ + declare function getUserService(): com.fluig.sdk.service.UserService; - /** - * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como gestor - */ - resumeRequestsSLAManagedByMe(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, assignee: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + /** + * Recupera o serviço de widgets + */ + declare function getWidgetService(): com.fluig.sdk.service.WidgetService; - resumeSLATasks(processId: string, startDate: string, endDate: string, assignee: string, requester: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; - } + /** + * Recupera o serviço para tratar Workflow + */ + declare function getWorkflowService(): com.fluig.sdk.service.WorkflowAPIService; } +declare type ErrorCallback = (error: ErrorData, data: object) => void; +declare type AutoCompleteOnTagCallback = (item: object, tag: object) => void; +declare type SimpleCallback = () => void; +declare type DataCallback = (data: object) => void; -declare namespace com.fluig.sdk.api.alert { - declare class AlertActionVO {} - declare class AlertConfigVO {} - declare class AlertEventVO {} - declare class AlertModuleVO {} - declare class AlertObjectVO {} - declare class AlertSenderVO {} - declare class AlertUserVO {} - declare class AlertVO { - getActions(): java.util.List; - getCanRemove(): boolean; - getCreationDate(): Date; - getCreationDateTime(): number; - getCurrentDate(): Date; - getEvent(): com.fluig.sdk.api.alert.AlertObjectVO; - getId(): number; - getObject(): com.fluig.sdk.api.alert.AlertObjectVO; - getPlace(): com.fluig.sdk.api.alert.AlertObjectVO; - getPriority(): string; - getRead(): boolean; - getReceiver(): com.fluig.sdk.api.alert.AlertUserVO; - getSenders(): java.util.List; - setActions(actions: java.util.List): void; - setCanRemove(canRemove: boolean): void; - setCreationDate(creationDate: Date): void; - setCreationDateTime(creationDateTime: number): void; - setCurrentDate(currentDate: Date): void; - setEvent(event: com.fluig.sdk.api.alert.AlertEventVO): void; - setId(id: number): void; - setObject(object: com.fluig.sdk.api.alert.AlertObjectVO): void; - setPlace(place: com.fluig.sdk.api.alert.AlertObjectVO): void; - setPriority(priority: string): void; - setRead(read: boolean): void; - setReceiver(receiver: com.fluig.sdk.api.alert.AlertUserVO): void; - setSenders(senders: java.util.List): void; - } -} +/** + * Callback de Modal + * + * @param error Indica se houve erro + * @param data Todo o conteúdo da propriedade content da modal + */ +declare type ModalCallback = (error: boolean, data: string) => void; -declare namespace com.fluig.sdk.api.authorizeclient { - declare class AuthorizeClientSdkServiceVO { - /** - * Pega o Resultado da Requisição - * - * Se for um JSON basta usar JSON.parse() para converter em objeto. - */ - getResult(): string; - getCompanyId(): number; - getDescription(): string; - getEndpoint(): string; - getHeaders(): java.util.Map; - getHttpStatusResult(): number; - getMethod(): string; - getOptions(): java.util.Map; - getParams(): java.util.Map; - getServiceCode(): string; - getStrParams(): string; - getTimeoutService(): string; - } -} +/** + * Callback de Inicialização do Botão Switch + * + * @param event Evento disparado + * @this HTMLElement + */ +declare type SwitchInitCallback = (event: JQuery.Event) => void; -declare namespace com.fluig.sdk.api.document { - declare class AllocatedDocumentVO {} - declare class DocumentApprovementHistoryVO {} - declare class DocumentApproverVO {} - declare class DocumentPermissionVO {} - declare class DocumentRestrictionVO {} - declare class DocumentSecurityConfigVO {} - declare class DocumentSecurityVO {} - declare class DocumentTaskVO {} + /** + * Callback de mudança de estado do Botão Switch + * + * @param event Evento disparado + * @param checked Indica se está selecionado + * @this HTMLElement + */ +declare type SwitchChangeCallback = (event: JQuery.Event, checked: boolean) => void; - /** - * Representa um documento - */ - declare class DocumentVO { - /** - * Recupera número de acessos - */ - getAccessCount(): number; +/** + * Callback da mensagem de Confirmação + * + * @param result Resultado da confirmação (True se clicou em Sim) + * @param element Botão clicado + * @param data Evento disparado + */ +declare type ConfirmCallback = (result: boolean, element: HTMLElement, event: Event) => void; - /** - * Recupera versão ativa - */ - getActiveVersion(): boolean; +/** + * Callback de mensagem + * + * @param element Botão clicado + * @param data Evento disparado + */ +declare type MessageCallback = (element: HTMLElement, event: Event) => void; +interface AutoCompleteOptions { + /** + * Tipo do autocomplete + * + * Pode ser (padrão é tag): + * - autocomplete + * - tag + * - tagAutocomplete + */ +    type?: string; - /** - * Recupera o valor do comentário nas informações extras - */ - getAdditionalComments(): string; + /** + * Item exibido na sugestão + * + * Obrigatório para autocomplete e tagAutocomplete + */ +    displayKey?: string; - /** - * Recupera valor, se documento permite multi card por usuário - */ - getAllowMuiltiCardsPerUser(): boolean; + /** + * Nome do dataset + * + * Opcional para autocomplete e tagAutocomplete + */ +    name?: string; - /** - * Recupera condição approvalAndOr - */ - getApprovalAndOr(): boolean; + /** + * Determina o serviço utilizado para buscar as sugestões + */ + source: { +        url: string; +        limit: 10, +        offset: 0, +        limitKey: string; +        patternKey: string; +        root: string; +    }; - /** - * Recupera valor, se documento está aprovado - */ - getApproved(): boolean; + /** + * Coloca o texto em negrito quando efetua a busca + */ + highlight?: boolean; - /** - * Recupera valor da data de aprovação - */ - getApprovedDate(): Date + /** + * Mínimo de caracteres antes de iniciar a busca + */ +    minLength?: number; - /** - * Recupera id de atualização - */ - getAtualizationId(): number; + /** + * Se falso não exibirá as opções retornadas da busca + */ +    hint?: boolean; - /** - * Recupera descrição do card - */ - getCardDescription(): string; + /** + * Tempo limite para obter um resultado da busca + */ +    searchTimeout?: number; - /** - * Recupera id do colega - */ - getColleagueId(): string; + /** + * Nome da classe utilizada na tag + */ +    tagClass?: string; - /** - * Recupera valor do crc - */ - getCrc(): number; + /** + * Máximo de tags permitidas para selecionar + */ +    maxTags?: number; - /** - * Recupera valor para data de criação - */ - getCreateDate(): Date + /** + * Permite selecionar a mesma tag várias vezes + */ +    allowDuplicates?: boolean - /** - * Recupera valor, se documento foi deletado - */ - getDeleted(): boolean; + /** + * Evento disparado quando tentar adicionar uma tag repetida + */ +    onTagExists?: AutoCompleteOnTagCallback; - /** - * Recupera descrição do documento - */ - getDocumentDescription(): string; + /** + * Evento disparado ao atingir o limite de tags + */ +    onMaxTags?: AutoCompleteOnTagCallback; - /** - * Recupera valor do document Id - */ - getDocumentId(): number; + /** + * Largura máxima da tag + */ +    tagMaxWidth?: number; - /** - * Recupera número de propriedade do documento - */ - getDocumentPropertyNumber(): number; + /** + * Template da dica + */ +    templates?: { +        tag: string; +        suggestion: string; +    }; +     + /** + * Objeto com o CSS para formatar uma tag removida + */ +    tagRemoveCss?: { + [property: string]: string; +    }; - /** - * Recupera versão do documento - */ - getDocumentPropertyVersion(): number; +} - /** - * Recupera valor do tipo de documento - */ - getDocumentType(): DocumentTypeEnum; +interface AutoCompleteTag { + description: string; +} - /** - * Recupera valor do id do tipo de documento - */ - getDocumentTypeId(): string; +declare class AutoComplete { + /** + * Adiciona uma tag + * + * Método para os tipos tag e tagAutocomplete + */ + add(tag: AutoCompleteTag): void; - /** - * Recupera valor, se download é habilitado - */ - getDownloadEnabled(): boolean; + /** + * Atualiza uma tag para o tipo tag ou tagAutocomplete + * + * Método para os tipos tag e tagAutocomplete + */ + update(tag: AutoCompleteTag): void; - /** - * Recupera valor de draft - */ - getDraft(): boolean; + /** + * Remove uma tag para o tipo tag ou tagAutocomplete + * + * Método para os tipos tag e tagAutocomplete + */ + remove(tag: AutoCompleteTag): void; - /** - * Recupera data de expiração - */ - getExpirationDate(): Date + /** + * Remove todas as tags + * + * Método para os tipos tag e tagAutocomplete + */ + removeAll(): void; - /** - * Recupera valor, se documento expira - */ - getExpires(): boolean; + /** + * Retorna todas as tags + * + * Método para os tipos tag e tagAutocomplete + */ + items(): AutoCompleteTag[]; - /** - * Recupera os dados extras - */ - getExtData(): java.util.HashMap; + /** + * Abre a caixa de seleção + * + * Método para o tipo autocomplete + */ + open(): void; - /** - * Recupera id documento externo - */ - getExternalDocumentId(): string; + /** + * Fecha a caixa de seleção + * + * Método para o tipo autocomplete + */ + close(): void; - /** - * Recupera os dados extras - */ - getExtraData(key: string): object; + /** + * Pega o valor do elemento + * + * Método para o tipo autocomplete + */ + val(): string; - /** - * Recupera id do ícone - */ - getIconId(): number; + /** + * Atribui um valor ao elemento + * + * Método para o tipo autocomplete + */ + val(value: string): void; - /** - * Recupera valor do path do icon - */ - getIconPath(): string; - - /** - * Recupera valor, se documento é imutável - */ - getImutable(): boolean; - /** - * Recupera valor, se documento é indexado - */ - getIndexed(): boolean; + /** + * Coloca o foco no autocomplete + */ + focus(): void; - /** - * Retorna se o documento herda as propriedades do parent - */ - getInheritSecurity(): boolean; + /** + * Pega o elemento input do autocomplete + */ + input(): HTMLElement; - /** - * Recupera valor, se documento pode ser visualizado internamente. - */ - getInternalVisualizer(): boolean; + /** + * Atualiza o autocomplete + * + * Útil para quando fizer mudanças manuais no elemento. + */ + refresh(): void; - /** - * Recupera valor de palavra chave - */ - getKeyWord(): string; + /** + * Destrói o autocomplete + */ + destroy(): void; +} - /** - * Recupera id da linguagem - */ - getLanguageId(): string; +interface FilterSourceSettings { + /** + * URL que trará os dados + */ + url: string, - /** - * Recupera valor da última data de modificação - */ - getLastModifiedDate(): Date + /** + * Tipo do conteúdo retornado. Ex: application/json + */ + contentType: string, + root: string, + pattern: string, + limit: number, + offset: number, + patternKey: string, + limitKey: string, + offsetKey: string +} - /** - * Recupera última data de modificação - */ - getLastModifiedTime(): string; +interface FilterStyleSettings { + /** + * The selector for the autocomplete tag template. + */ + templateTag?: string, - /** - * Recupera valor, se documento está em checkout - */ - getOnCheckout(): boolean; + /** + * The selector for the autocomplete suggestion template. + */ + templateSuggestion?: string, - /** - * Recupera id do pai do documento - */ - getParentDocumentId(): number; + /** + * The selector for the autocomplete tip message template. + */ + templateTipMessage?: string, - /** - * Recupera o tipo de permissão - */ - getPermissionType(): number; + /** + * Class name for the tags. Padrão é tag-gray + */ + autocompleteTagClass?: string, - /** - * Recupera arquivo físico - */ - getPhisicalFile(): string; + /** + * CSS class used to table selected lines. + */ + tableSelectedLineClass?: string, - /** - * Recupera valor do tamanho do arquivo físico - */ - getPhisicalFileSize(): number; + /** + * Receives the waiting time to make the request. This is important not to open a request for each character typed. + */ + tableStyle?: string, - /** - * Recupera prioridade - */ - getPriority(): number; + /** + * Defines a CSS class to apply to the table. Padrão é fluigicon-zoom-in + * + * Ex .: 'table-hover table-bordered table-striped'. + */ + filterIconClass?: string +} - /** - * Recupera valor id privado do colega - */ - getPrivateColleagueId(): string; +interface FilterTableSettings { + header: FilterTableHeader[], - /** - * Recupera valor, se documento é privado - */ - getPrivateDocument(): boolean; + /** + * Pode ser um array de chaves do objeto ou a classe CSS do template mustache. + * + * A sequência do array deve ser a mesma de header. + */ + renderContent: string|string[], + formatData?: function +} - /** - * Recupera id do publicador - */ - getPublisherId(): string; +interface FilterTableHeader { + /** + * Título da coluna + */ + title?: string, - /** - * Recupera arquivos relacionados - */ - getRelatedFiles(): string; + /** + * Atributo do objeto que será utilizado para ordenar essa coluna. Padrão é vazio. + * + * Caso não seja passado utilizará o conteúdo padrão da coluna que foi + * indicado em renderContent da tabela. + */ + dataorder?: string, - /** - * Recupera tipo de restrição - */ - getRestrictionType(): number; + /** + * Indica se será a coluna ordenada por padrão. Padrão é false. + */ + standard?: boolean, - /** - * Recupera valor do código do site - */ - getSiteCode(): string; + /** + * Tamanho visual da coluna. Utiliza uma das classes CSS col- + */ + size?: string, - /** - * Recupera id do tenant - */ - getTenantId(): number; + /** + * Indica se a coluna deverá ser exibida. Padrão é true + */ + display?: boolean +} - /** - * Recupera valor do id do tópico - */ - getTopicId(): number; +interface FilterSettings { + /** + * Campo que será exibido ao selecionar um valor + */ + displayKey: string, - /** - * Recupera valor, se documento é traduzido - */ - getTranslated(): boolean; + /** + * Configuração da fonte de dados + */ + source: FilterSourceSettings, - /** - * Recupera updateIsoProperties - */ - getUpdateIsoProperties(): boolean; + /** + * Configuração da Tabela de exibição dos itens + */ + table: FilterTableSettings, - /** - * Recupera o identificador do upload - */ - getUploadId(): string; + /** + * Configuração dos estilos + */ + style?: FilterStyleSettings, - /** - * Recupera valor, se usuário será notificado - */ - getUserNotify(): boolean; + /** + * Altura da tabela (preferencialmente em px). Padrão: 260px + */ + tableHeight?: string, - /** - * Recupera valor do UUID - */ - getUUID(): string; + /** + * Permite múltiplas seleções? Padrão: false + */ + multiSelect?: boolean, - /** - * Recupera data de inicio de validação - */ - getValidationStartDate(): Date + /** + * Tempo limite (em ms) da busca na fonte de dados. Padrão 200ms + */ + searchTimeout?: number, - /** - * Recupera valor da versão - */ - getVersion(): number; + /** + * Quantidade mínima de caracteres antes de iniciar a busca. Padrão 1 + */ + minLength?: number, - /** - * Recupera a ação que será realizada em relação a versão documento - */ - getVersionAction(): string; + /** + * Limite de caracteres exibidos no item selecionado. Padrão: 200 + */ + tagMaxWidth?: number +} - /** - * Recupera descrição da versão - */ - getVersionDescription(): string; +interface ToastSettings { + /** + * Título do Toast. Diferença é que fica em negrito. + */ + title?: string, - /** - * Recupera visualização - */ - getVisualization(): string; + /** + * Mensagem repassada + */ + message?: string, - /** - * Recupera id do volume - */ - getVolumeId(): string; + /** + * Tipos possíveis: success, danger, info and warning + * Padrão: success + */ + type?: string, - /** - * Atribui valor para número de acessos - */ - setAccessCount(accessCount: number): void; + /** + * Tempo, em milissegundos, ou as strings slow ou fast. + * + * O tempo padrão são 4000 milissegundos. + * slow representa 2000 e fast representa 6000. + * + * O Toast do tipo danger ignora o timeout. + */ + timeout?: number|string +} - /** - * Atribui valor para versão ativa - */ - setActiveVersion(activeVersion: boolean): void; +declare class FluigcFilter { + getSelectedItems(): object[]; + add(item: object): void; + removeAll(): void; - /** - * Atribui o valor do comentário nas informações extras - */ - setAdditionalComments(comments: string): void; + /** + * Escuta eventos do filtro. + * + * Importante: não coloque mais de um filtro em um mesmo pai, pois os eventos + * serão escutados por todos os filtros irmãos. + * + * O filtro dispara os seguintes eventos: + * - fluig.filter.load.complete => quando o filtro termina de carregar + * - fluig.filter.item.added => quando um item é selecionado/adicionado + * + * @param event + * @param callback + */ + on(event: string, callback: SimpleCallback|DataCallback): void; +} - /** - * Atribui valor para allowMultiCardsPerUser - */ - setAllowMuiltiCardsPerUser(allowMultiCardsPerUser: boolean): void; +declare class FluigcModal { + /** + * Remove (fecha) a Modal + */ + remove(): void; - /** - * Atribui valor para approvalAndOr - */ - setApprovalAndOr(approvalAndOr: boolean): void; + /** + * Indica se a Modal está visível + */ + isOpen(): boolean; +} - /** - * Atribui valor, se documento está aprovado - */ - setApproved(approved: boolean): void; +/** + * Configuração dos botões da Modal + */ +interface ModalActionSettings { + /** + * Rótulo exibido + */ + label: string; - /** - * Atribui valor para data de aprovação - */ - setApprovedDate(approvedDate: Date): void; + /** + * Evento ouvido em bindings.global da SuperWidget + * + * Precisa ter o prefixo data- + * Exemplo de valor: data-save-settings + */ + bind?: string; - /** - * Atribui valor para id de atualização - */ - setAtualizationId(actualizationId: number): void; + /** + * Estilo utilizado no botão + * + * Por padrão o primeiro botão recebe btn-primary + * e os demais recebem btn-default + */ + classType?: string; - /** - * Atribui valor para descrição do card - */ - setCardDescription(cardDescription: string): void; + /** + * Indica se o botão fechará a Modal + * + * Por padrão é false. + * + * IMPORTANTE: se for true ele não executará o bind registrado. + */ + autoClose?: boolean; +} - /** - * Atribui valor para id do colega - */ - setColleagueId(colleagueId: string): void; +/** + * Configurações da Mensagem de Confirmação + */ +interface ConfirmSettings { + /** + * Título + */ + title: string; - /** - * Atribui valor para crc - */ - setCrc(crc: number): void; + /** + * Mensagem + */ + message: string; - /** - * Atribui valor para data de criação - */ - setCreateDate(createDate: Date): void; + /** + * Texto do Botão Sim + * + * Padrão: Sim + */ + labelYes?: string; - /** - * Atribui valor, se documento foi deletado - */ - setDeleted(deleted: boolean): void; + /** + * Texto do Botão Não + * + * Padrão: Não + */ + labelNo?: string; +} - /** - * Atribui valor para descrição do documento - */ - setDocumentDescription(documentDescription: string): void; +/** + * Configurações da Mensagem de Alerta + */ +interface AlertSettings { + /** + * Título + */ + title: string; - /** - * Atribui valor para id do documento - */ - setDocumentId(documentId: number): void; + /** + * Mensagem + */ + message: string; - /** - * Atribui valor para número de propriedade do documento - */ - setDocumentPropertyNumber(documentPropertyNumber: number): void; + /** + * Texto do Botão Ok + * + * Padrão: OK + */ + label?: string; +} - /** - * Atribui versão de documento - */ - setDocumentPropertyVersion(documentPropertyVersion: number): void; +/** + * Configurações da Mensagem de Erro + */ +interface ErrorSettings { + /** + * Título + */ + title: string; - /** - * Atribui valor para tipo de documento - */ - setDocumentType(documentType: DocumentTypeEnum): void; + /** + * Mensagem + */ + message: string; - /** - * Atribui valor para id do tipo de documento - */ - setDocumentTypeId(documentTypeId: string): void; + /** + * Detalhes do erro + * + * Pode quebrar linha utilizando \n + */ + details: string; +} - /** - * Atribui valor, se download é habilitado - */ - setDownloadEnabled(downloadEnabled: boolean): void; +/** + * Configurações da Modal + */ +interface ModalSettings { + /** + * Título exibido na modal + */ + title: string; - /** - * Atribui valor para draft - */ - setDraft(draft: boolean): void; + /** + * Conteúdo da Modal + * + * Pode ser uma string HTML, template Mustache + * ou retorno de uma chamada a WCMAPI.convertFtlAsync + */ + content: string; - /** - * Atribui valor para data de expiração - */ - setExpirationDate(expirationDate: Date): void; + /** + * ID da Modal + * + * Por padrão é fluig-modal. + * A cada chamada o elemento HTML da modal é construído e + * então destruído quando a modal é fechada. + */ + id?: string; - /** - * Atribui valor, se documento expira - */ - setExpires(expires: boolean): void; + /** + * Tamanho da Modal + * + * Pode ser: small | large | full + */ + size: string; - /** - * Atribui valor para id documento externo - */ - setExternalDocumentId(externalDocumentId: string): void; + /** + * Botões da Modal + */ + actions: ModalActionSettings[]; +} - /** - * Atribui valores para os dados extras - */ - setExtraData(key: string, value: object): void; +interface CalendarSettings { + /** + * Indica se exibirá a seleção de Data. Padrão true. + */ + pickDate?: boolean; - /** - * Atribui valor para id do ícone - */ - setIconId(iconId: number): void; + /** + * Indica se exibirá a seleção de Tempo. Padrão false. + */ + pickTime?: boolean; - /** - * Atribui valor do iconPath do arquivo - */ - setIconPath(iconPath: string): void; + /** + * Indica se usará minutos. Padrão true. + */ + useMinutes?: boolean; - /** - * Atribui valor, se documento é imutável - */ - setImutable(immutable: boolean): void; + /** + * Indica se usará segundos. Padrão true. + */ + useSeconds?: boolean; - /** - * Atribui valor, se documento é indexado - */ - setIndexed(indexed: boolean): void; + /** + * Indica se selecionará automaticamente a data corrente. Padrão true + */ + useCurrent?: boolean; - /** - * Atribui se herda as propriedades de segurança do parent - */ - setInheritSecurity(inheritSecurity: boolean): void; + /** + * Valor a incrementar os minutos quando clicar nas setas de subir/descer + */ + minuteStepping?: number; - /** - * Atribui valor, se documento pode ser visualizado internamente - */ - setInternalVisualizer(internalVisualizer: boolean): void; + /** + * Define uma data mínima selecionável + */ + minDate?: string; - /** - * Atribui valor para palavra chave - */ - setKeyWord(keyWord: string): void; + /** + * Define a data máxima selecionável + */ + maxDate?: string; - /** - * Atribui valor para id da linguagem - */ - setLanguageId(languageId: string): void; + /** + * Exibe o indicador do dia de hoje + */ + showToday?: boolean; - /** - * Atribui valor para última data de modificação - */ - setLastModifiedDate(lastModifiedDate: Date): void; + /** + * Código do idioma. Padrão pt-br + */ + language?: string; - /** - * Atribui valor a última data de modificação - */ - setOnCheckout(onCheckout: boolean): void; + /** + * Data padrão + * + * Aceita também data da Moment.js + */ + defaultDate?: string|Date; - /** - * Atribui valor, se documento está em checkout - */ - setLastModifiedTime(lastModifiedTime: string): void; + /** + * Datas que não podem ser selecionadas + * + * Aceita também data da Moment.js + */ + disabledDates?: string[]|Date[]; - /** - * Atribui valor para id do documento pai - */ - setParentDocumentId(parentDocumentId: number): void; + /** + * Únicas datas que podem ser selecionadas + * + * Aceita também data da Moment.js + */ + enabledDates?: string[]|Date[]; - /** - * Atribui valor para tipo de permissão - */ - setPermissionType(permissionType: number): void; + /** + * Use "strict" quando validar datas. Padrão false + */ + useStrict?: boolean; - /** - * Atribui valor para arquivo físico - */ - setPhisicalFile(physicalFile: string): void; + /** + * Exibe a seleção de Tempo ao lado da seleção de Data. Padrão false. + */ + sideBySide?: boolean; - /** - * Atribui valor para o tamanho do arquivo físico - */ - setPhisicalFileSize(physicalFileSize: number): void; + /** + * Dias da semana que não pode ser selecionados + * + * Dia da semana inicia em 0, para domingo. + */ + daysOfWeekDisabled?: number[]; +} - /** - * Atribui valor prioridade - */ - setPriority(priority: number): void; +declare class Calendar { + /** + * Configura a data mínima que pode ser selecionada + * + * @param date Data como string (formato pt-br), Date ou moment + */ + setMinDate(date: string|Date): void; - /** - * Atribui valor id privado do colega - */ - setPrivateColleagueId(privateColleagueId: string): void; + /** + * Configura a data máxima que pode ser selecionada + * + * @param date Data como string (formato pt-br), Date ou moment + */ + setMaxDate(date: string|Date): void; + show(): void; + disable(): void; + enable(): void; - /** - * Atribui valor, se documento é privado - */ - setPrivateDocument(privateDocument: boolean): void; + /** + * Atribui a data selecionada + * + * @param date Data como string (formato pt-br), Date ou moment + */ + setDate(date: string|Date): void; - /** - * Atribui valor para id do publicador - */ - setPublisherId(publisherId: string): void; + /** + * Pega a data como objeto moment (da lib momentjs) + */ + getDate(): any; +} - /** - * Atribui valor para arquivos relacionados - */ - setRelatedFiles(relatedFiles: string): void; +interface LoadingSettings { + /** + * Mensagem exibida + * + * Padrão: "Loading..." + */ + textMessage?: string, - /** - * Atribui valor para tipo de restrição - */ - setRestrictionType(restrictionType: number): void; + /** + * Título exibido quando theme == true + * + * Padrão: "" + */ + title?: string, - /** - * Atribui valor para código de site - */ - setSiteCode(siteCode: string): void; + /** + * Estilo para o bloco de carregamento + * + * Objeto CSS aceito pela JQuery. + * + * Padrão: null + */ + css?: object, - /** - * Atribui valor para id do tenant - */ - setTenantId(tenantId: number): void; - - /** - * Atribui valor para id do tópico - */ - setTopicId(topicId: number): void; - - /** - * Atribui valor, se documento é traduzido - */ - setTranslated(translated: boolean): void; + /** + * Estilo para o overlay + * + * Objeto CSS aceito pela JQuery. + * + * Padrão: null + */ + overlayCSS?: object, - /** - * Atribui valor para updateIsoProperties - */ - setUpdateIsoProperties(updateIsoProperties: boolean): void; + /** + * Estilo para o cursor antes de bloquear + * + * Padrão: "" + */ + cursorReset?: string, - /** - * Atribue o identificador do upload - */ - setUploadId(uploadId: string): void; + /** + * Índice Z-Index + * + * Padrão: null + */ + baseZ?: number, - /** - * Atribui valor se usuário será notificado - */ - setUserNotify(userNotify: boolean): void; + /** + * Indica se será centralizado na tela + * + * Padrão: true + */ + centerX?: boolean, - /** - * Atribui valor para UUID - */ - setUUID(uUID: string): void; + /** + * Indica se será centralizado na tela + * + * Padrão: true + */ + centerZ?: boolean, - /** - * Atribui valor para data de início de validação - */ - setValidationStartDate(validationStartDate: Date): void; + /** + * Desabilita eventos de teclado e mouse + * + * Padrão: true + */ + bindEvents?: boolean, - /** - * Atribui valor para versão - */ - setVersion(version: number): void; + /** + * Tempo, em ms, do efeito de transição no bloqueio + * + * Se for 0 não terá efeito de transição. + */ + fadeIn?: number, - /** - * Atribue a ação que será realizada em relação a versão documento - */ - setVersionAction(versionAction: string): void; + /** + * Tempo, em ms, do efeito de transição no desbloqueio + * + * Se for 0 não terá efeito de transição. + */ + fadeOut?: number, - /** - * Atribui valor para descrição da versão - */ - setVersionDescription(versionDescription: string): void; + /** + * Tempo, em ms, para aguardar antes de desbloquear + * + * Se for 0 vai desabilitar o auto desbloqueio. + */ + timeout?: number, - /** - * Atribui valor para visualização - */ - setVisualization(visualization: string): void; + /** + * Indica se será exibido o overlay + * + * Padrão: true + */ + showOverlay?: boolean, - /** - * Atribui valor ao id do volume - */ - setVolumeId(volumeId: string): void; - } + /** + * Função para ser executado após o efeito de transição do bloqueio + */ + onBlock?: SimpleCallback, /** - * Representa uma pasta + * Função para ser executado após o efeito de transição do desbloqueio + * + * O elemento desbloqueado será passado à função. */ - declare class FolderVO { + onUnBlock?: DataCallback, - /** - * Recupera comentário adicional - */ - getAdditionalComments(): string; + /** + * Indica se vai ignorar um bloqueio quando já está bloqueado + * + * Padrão: false + */ + ignoreIfBlocked?: boolean +} - /** - * Recupera valor de approvalAndOr - */ - getApprovalAndOr(): boolean; +declare class Loading { + /** + * Exibe a tela de carregamento + */ + show(): void; - /** - * Recupera valor do colleagueId - */ - getColleagueId(): string; + /** + * Esconde a tela de carregamento + */ + hide(): void; +} - /** - * Recupera valor da data de criação - */ - getCreateDate(): Date; +declare namespace FLUIGC { + /** + * Cria um campo com auto-complete + * + * Eventos disponíveis para autocomplete: + * - fluig.autocomplete.cursorchanged + * - fluig.autocomplete.opened + * - fluig.autocomplete.closed + * - fluig.autocomplete.selected + * - fluig.autocomplete.autocompleted + * - fluig.autocomplete.beforeItemAdd + * - fluig.autocomplete.itemAdded + * - fluig.autocomplete.beforeItemUpdate + * - fluig.autocomplete.itemUpdated + * - fluig.autocomplete.beforeItemRemove + * - fluig.autocomplete.itemRemoved + * + * @param target Seletor utilizado na JQuery + * @param options Opções adicionais para o autocomplete + * @param callback Função executada após trazer as respostas para o auto-complete + */ + declare function autocomplete(target: string, options: AutoCompleteOptions, callback: ErrorCallback): AutoComplete; - /** - * Recupera valor de descrição do documento - */ - getDocumentDescription(): string; + /** + * Cria um campo filter em um select (é o Zoom feito manualmente) + * + * Para usar em formulário deve-se incluir o css /style-guide/css/fluig-style-guide-filter.min.css + * e o script /style-guide/js/fluig-style-guide-filter.min.js + * + * Para usar em Widget deve-se incluir a instrução application.resource.component.1=fluigfilter + * (substituindo o 1 por um valor ainda não utilizado) no arquivo application.info + * + * @param target Seletor utilizado na JQuery + * @param settings Configurações do filtro + */ + declare function filter(target: string, settings: FilterSettings): FluigcFilter; - /** - * Recupera valor do documentoId - */ - getDocumentId(): number; + /** + * Cria uma caixa de seleção para tratar data e horário + * + * @param target Seletor utilizado na JQuery + * @param settings Configurações do calendário + */ + declare function calendar(target: string, settings: CalendarSettings): Calendar; - /** - * Recupera id do tipo de documento - */ - getDocumentTypeId(): string; + /** + * Exibe uma mensagem simples no topo da página. + * + * Muito utilizado para substituir alert do JS. + */ + declare function toast(settings: ToastSettings): void; - /** - * Recupera os tipos de documento - */ - getDocumentTypes(): java.util.List; + /** + * Cria uma tela de carregamento em elemento específico ou na janela inteira + * + * Caso o objeto window seja passado a tela de carregamento ocupará a janela inteira. + * + * @param selector Uma string com seletor JQuery ou objeto window + * @param settings Configurações possíveis para o Loading + */ + declare function loading(selector: string|Window, settings: LoadingSettings): Loading; - /** - * Recupera informação se download da pasta está disponível - */ - getDownloadEnabled(): boolean; + /** + * Cria uma Modal + * + * @param settings Configurações + * @param callback Função para executar após a criação da modal + */ + declare function modal(settings: ModalSettings, callback: ModalCallback): FluigcModal; +} - /** - * Informa se a pasta pode expirar - */ - getExpires(): boolean; +/** + * Botão Switch + * + * @see https://style.fluig.com/javascript.html#switch-button + */ +declare namespace FLUIGC.switcher { - /** - * Recupera os filtros - */ - getFilters(): java.util.HashMap; + /** + * Transforma um checkbox ou radio em um botão switch + * + * Ao inicializar o botão switch será feita a leitura das opções + * do elemento HTML (os atributos do checkbox ou radio) para orientar + * como o botão deve ser. + * + * As opções no checkbox/radio são: + * + * | Atributo | Valores | Padrão | + * |----------|---------|--------| + * | checked | true, false | false | + * | data-size | null, 'mini', 'small', 'normal', 'large' | null| + * | data-animate | true, false | true| + * | disabled | true, false | false| + * | readonly | true, false | false| + * | data-on-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'primary'| + * | data-off-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'default'| + * | data-on-text | | 'ON'| + * | data-off-text | | 'OFF'| + * + * @tutorial https://style.fluig.com/javascript.html#switch-button + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function init(element: string|JQuery): void; - /** - * Recupera valor do iconId - */ - getIconId(): number; + /** + * Transforma todos os checkbox e radio de um container em botões switch + * + * Ao inicializar o botão switch será feita a leitura das opções + * do elemento HTML (os atributos do checkbox ou radio) para orientar + * como o botão deve ser. + * + * As opções no checkbox/radio são: + * + * | Atributo | Valores | Padrão | + * |----------|---------|--------| + * | checked | true, false | false | + * | data-size | null, 'mini', 'small', 'normal', 'large' | null| + * | data-animate | true, false | true| + * | disabled | true, false | false| + * | readonly | true, false | false| + * | data-on-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'primary'| + * | data-off-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'default'| + * | data-on-text | | 'ON'| + * | data-off-text | | 'OFF'| + * + * @tutorial https://style.fluig.com/javascript.html#switch-button + * + * @param parentElement Seletor JQuery, ou Objeto, do elemento pai + * @param fieldName Nome do input deve iniciar com o valor indicado + */ + declare function initAll(parentElement: string|JQuery, fieldName?: string): void; - /** - * Recupera boolean se pasta é imutável - */ - getImutable(): boolean; + /** + * Pega o estado do botão + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function getState(element: string|JQuery): boolean; - /** - * Recupera segurança herdada - */ - getInheritSecurity(): boolean; + /** + * Configura o estado como checked + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function setTrue(element: string|JQuery): void; - /** - * Recupera valor de visualizador interno - */ - getInternalVisualizer(): boolean; + /** + * Configura o estado como false (não selecionado) + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function setFalse(element: string|JQuery): void; - /** - * Recupera valor da palavra chave - */ - getKeyWord(): string; + /** + * Alterna o estado do botão + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function toggleState(element: string|JQuery): void; - /** - * Recupera boolean se usuário será notificado - */ - getNotifyUser(): boolean; + /** + * Habilita o botão (remove disabled do checkbox/radio) + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function enable(element: string|JQuery): void; - /** - * Recupera valor do id da pasta pai - */ - getParentFolderId(): number; + /** + * Desabilita o botão (coloca disabled no checkbox/radio) + * + * Cuidado: inputs desabilitados não são enviados pelo formulário. + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function disable(element: string|JQuery): void; - /** - * Recupera lista de permissões - */ - getPermissions(): java.util.List; + /** + * Indica se é para o botão ser somente leitura + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function isReadOnly(element: string|JQuery, readOnly: boolean): void; + /** + * Remove o botão switch + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function destroy(element: string|JQuery): void; - /** - * Recupera tipo de permissão - */ - getPermissionType(): number; + /** + * Evento disparado quando iniciar um botão Switch + * + * @param element Seletor JQuery ou Objeto JQuery + * @param callback Função executada ao disparar o evento + */ + declare function onInit(element: string|JQuery, callback: SwitchInitCallback): void; - /** - * Recupera boolean se documento é privado - */ - getPrivateDocument(): boolean; + /** + * Evento disparado houver mudança de estado do botão Switch + * + * @param element Seletor JQuery ou Objeto JQuery + * @param callback Função executada ao disparar o evento + */ + declare function onChange(element: string|JQuery, callback: SwitchChangeCallback): void; +} - /** - * Recupera lista de publicadores aprovadores - */ - getPublisherApprovers(): java.util.List; +declare namespace FLUIGC.message { + /** + * Cria uma Mensagem de Confirmação + * + * @param settings Configurações + * @param callback Função para executar após o usuário responder a confirmação + */ + declare function confirm(settings: ConfirmSettings, callback: ConfirmCallback): void; - /** - * Recupera id do publicador - */ - getPublisherId(): string; + /** + * Cria uma Mensagem de Alerta + * + * @param settings Configurações + * @param callback Função para executar após o usuário fechar o alerta + */ + declare function alert(settings: AlertSettings, callback: MessageCallback): void; - /** - * Recupera lista de restrições de documentos - */ - getRestrictions(): java.util.List; + /** + * Cria uma Mensagem de Erro + * + * @param settings Configurações + * @param callback Função para executar após o usuário fechar o erro + */ + declare function error(settings: ErrorSettings, callback: MessageCallback): void; +} - /** - * Recupera tipo de restrição - */ - getRestrictionType(): number; +declare namespace FLUIGC.calendar { + /** + * Formata uma data em uma string de acordo com a formatação indicada. + * + * @see https://style.fluig.com/javascript.html#fluig-calendar + * + * @param date Data a ser formatada + * @param format Formatação + * @param language Idioma (padrão pt-br) + */ + declare function formatDate(date: Date, format: string, language?: string): string; +} - /** - * Recupera valor do tenantId - */ - getTenantId(): number; +/** + * Adiciona um Filho ao Pai + * + * @param {String} tableName Nome da tabela + * @returns {Number} Id do filho criado +*/ +declare function wdkAddChild(tableName: string): number; - /** - * Recupera id do tópico - */ - getTopicId(): number; +/** + * Disponibiliza diversas funções para manipulação do formulário + * + * Usar em eventos do formulário (que recebem form como parâmetro). + */ +declare class FormController { - /** - * Recupera informação se update de iso properties é permitido - */ - getUpdateIsoProperties(): boolean; + /** + * Retorna o ID da empresa + */ + getCompanyId(): number; - /** - * Recupera valor da versão - */ - getVersion(): number; + /** + * Retorna o ID do documento (registro de formulário) + */ + getDocumentId(): number; - /** - * Recupera valor da descrição da versão - */ - getVersionDescription(): string; + /** + * Retorna a versão do documento (registro do formulário) + */ + getVersion(): number; - /** - * Recupera id do volume - */ - getVolumeId(): string; - - /** - * Atribui valor para comentário adicional - */ - setAdditionalComments(additionalComments: string): void; + /** + * Retorna o ID do formulário + */ + getCardIndex(): number - /** - * Atribui valor para approvalAndOr - */ - setApprovalAndOr(approvalAndOr: boolean): void; + /** + * Habilita/Desabilita a edição de um campo do formulário + */ + setEnabled(nomeCampo: string, habilita: boolean, protegido: boolean): void; - /** - * Atribui valor para colleagueId - */ - setColleagueId(colleagueId: string): void; + /** + * Verifica se o campo do formulário está habilitado para edição + */ + getEnabled(nomeCampo: string): boolean; - /** - * Atribui valor a data de criação - */ - setCreateDate(createDate: Date): void; + /** + * Atribui valor a um campo do formulário + */ + setValue(nomeCampo: string, valor: string): string; - /** - * Atribui valor para descrição do documento - */ - setDocumentDescription(documentDescription: string): void; + /** + * Pega o valor de um campo do formulário + */ + getValue(nomeCampo: string): string; - /** - * Atribui valor para documentId - */ - setDocumentId(documentId: number): void; + /** + * Deixa o campo invisível buscando pelo nome do campo + */ + setVisible(nomeCampo: string, visible: boolean): void; - /** - * Atribui valor para documentTypeId - */ - setDocumentTypeId(documentTypeId: string): void; + /** + * Deixa o campo invisível buscando pelo ID do campo + */ + setVisibleById(idDoCampo: string, visible: boolean): void; - /** - * Atribui tipo de documentos - */ - setDocumentTypes(documentTypes: java.util.List): void; + /** + * Se habilitado os campos são exibidos como input readonly + */ + setShowDisabledFields(habilita: boolean): void; - /** - * Atribui valor para informação se download de pasta está disponível - */ - setDownloadEnabled(downloadEnabled: boolean): void; + /** + * Se habilitado o link "imprimir" é ocultado + */ + setHidePrintLink(habilita: boolean): void; - /** - * Atribui valor para informar se a pasta pode expirar - */ - setExpires(expires: boolean): void; + /** + * Se habilitado o botão "excluir" é ocultado + */ + setHideDeleteButton(habilita: boolean): void; - /** - * Atribui filtros - */ - setFilters(filters: java.util.HashMap): void; + /** + * Se definido como true todos os campos desabilitados não terão seus valores salvos + */ + setEnhancedSecurityHiddenInputs(proteger: boolean): void; - /** - * Atribui valor para iconId - */ - setIconId(iconId: number): void; + /** + * Retorna o Modo do formulário. + * + * Tipos possíveis: + * - ADD: Criação + * - MOD: Edição + * - VIEW: Visualização + * - NONE: Não há comunicação com formulário. Ocorre no momento da validação dos campos, por exemplo. + */ + getFormMode(): string; - /** - * Atribui boolean se pasta será imutável - */ - setImutable(immutable: boolean): void; + /** + * Desabilita o botão de imprimir + */ + setHidePrintLink(hide: boolean): void; - /** - * Atribui valor para segurança herdada - */ - setInheritSecurity(inheritSecurity: boolean): void; + /** + * Retorna se o botão de imprimir está oculto + */ + isHidePrintLink(): boolean; - /** - * Atribui boolean se pasta possui visualizador interno - */ - setInternalVisualizer(internalVisualizer: boolean): void; + /** + * Retorna os campos filhos, e seus valores, de uma tabela pai. + * + * Retorna um objeto com a propriedade sendo o nome do campo e seus valores. + */ + getChildrenFromTable(tableName: string): object; - /** - * Configura valor da palavra chave - */ - setKeyWord(keyWord: string): void; + /** + * Retorna os índices dos campos filhos de uma tabela pai. + * + * @see https://tdn.totvs.com/pages/releaseview.action?pageId=270924158#EventosdeFormul%C3%A1rio-getChildrenIndexes + */ + getChildrenIndexes(tableName: string): number[]; - /** - * Atribui boolean se usuário será notificado - */ - setNotifyUser(notifyUser: boolean): void; + /** + * Oculta o botão de apagar registro + */ + setHideDeleteButton(hide: boolean): void; - /** - * Atribui valor para id da pasta pai - */ - setParentFolderId(parentFolderId: number): void; + /** + * Informa se o botão de apagar está oculto + */ + isHideDeleteButton(): boolean; - /** - * Atribui valor para lista de permissões - */ - setPermissions(permissions: java.util.List): void; + /** + * Indica se está em mobile + */ + getMobile(): boolean; - /** - * Atribui valor ao tipo de permissão - */ - setPermissionType(permissionType: number): void; + /** + * Indica se o campo está visível buscando pelo nome do campo + */ + isVisible(nomeCampo: string): boolean; - /** - * Atribui boolean se documento é privado - */ - setPrivateDocument(privateDocument: boolean): void; + /** + * Indica se o campo está visível buscando pelo ID do campo + */ + isVisibleById(id: string): boolean; +}; - /** - * Atribui valor para publicadores aprovadores - */ - setPublisherApprovers(publisherApprovers: java.util.List): void; +/** + * Disponibiliza funções para incluir conteúdo HTML no formulário + */ +declare class customHTML { - /** - * Atribui valor para id do publicador - */ - setPublisherId(publisherId: string): void; + /** + * Adiciona conteúdo no final do HTML do formulário + * @param html Conteúdo HTML a ser incluído + */ + append(html: string): void; +}; - /** - * Atribui valor para lista de restrições de documentos - */ - setRestrictions(restrictions: java.util.List): void; +interface ErrorData { + message?: string; + responseText: object; +} - /** - * Atribui valor para tipo de restrição - */ - setRestrictionType(restrictionType: number): void; +/** + * Constantes globais para usar no HTML de Processo / Formulário. + * + * O arquivo vcXMLRPC.js precisa ser declarado: + */ +declare namespace Global { + /** + * Último ID de um Filho (Cadastro Pai/Filho) + * + * Disponível quando o formulário possui um Pai/Filho padrão. + */ + const newId: number; - /** - * Atribui valor para tenantId - */ - setTenantId(tenantId: number): void; + /** + * Versão do Workflow. + * + * Só é preenchida em Processo + */ + const WKVersDef: string; - /** - * Atribui valor para topicId - */ - setTopicId(topicId: number): void; + /** + * ID da atividade atual do Workflow + * + * Só é preenchida em Processo + */ + const WKNumState: string; +} - /** - * Atribui permitir atualização de iso properties - */ - setUpdateIsoProperties(updateIsoProperties: boolean): void; +/** + * Permite a passagem de parâmetros entre os eventos do Workflow + */ +declare namespace globalVars { - /** - * Atribui valor para versão - */ - setVersion(version: number): void; + /** + * Insere um valor nos parâmetros gerais + */ + declare function put(name: string, value: object): void; - /** - * Atribui valor para descrição da versão - */ - setVersionDescription(versionDescription: string): void; + /** + * Pega um valor dos parâmetros gerais + */ + declare function get(name: string): object +}; - /** - * Atribui valor do id do volume - */ - setVolumeId(volumeId: string): void; - } - declare class RelatedDocumentVO {} - declare class SolvedPermissionVO {} -} -declare namespace com.fluig.sdk.api.ecm { - declare class CollaborationAppVO {}; - declare class CollaborationVO {}; -} +/** + * Pega o valor das propriedades do Processo. + * + * Usar em eventos do processo e eventos de formulários de processo. + * @see https://tdn.totvs.com/pages/releaseview.action?pageId=270919174 + * + * Propriedades: + * - WKDef: Código do processo + * - WKVersDef: Versão do processo + * - WKNumProces: Número do processo + * - WKNumState: Número da atividade + * - WKCompany: Número da Empresa + * - WKUser: Usuário Corrente + * - WKUserComment: Texto com as observações feitas pelos usuários na atividade corrente + * - WKCompletTask: Indica se a tarefa foi completada ("true" / "false") + * - WKNextState: Número da próxima atividade (destino) + * - WKCardId: Código do registro de formulário do processo + * - WKFormId: Código do formulário do processo + * - WKIdentityCompany: Identificador da empresa selecionada para Experiências de uso TOTVS + * - WKMobile: Identifica se a ação foi realizada através de um dispositivo mobile + * - WKIsService: Identifica se a solicitação de cancelamento foi realizada através de um serviço. Esta variável só pode ser consultada nos eventos beforeCancelProcess e afterCancelProcess + * - WKUserLocale: Identifica o idioma corrente do usuário + * - WKManagerMode: Identifica se o processo está sendo movimentado pela visão do gestor do processo ou não. Só funciona no Workflow + * - WKReplacement: Código do usuário substituto + * - WKIsTransfer: Permite verificar se o usuário está ou não transferindo uma tarefa + * - + */ +declare function getValue(nomePropriedade: string): string; -declare namespace com.fluig.sdk.api.enums { - enum AssumeProcessTaskStatus { - SUCCESS, - ERROR, - } -} +/** + * Funções para o envio de e-mail + */ +declare namespace notifier { -declare namespace com.fluig.sdk.api.group { - declare class GroupVO {} -} + /** + * Envia um e-mail personalizado + * + * @example + * var parameters = new java.util.HashMap(); + * parameters.put("subject", "Assunto"); + * parameters.put("NAME", "João"); + * parameters.put("CODE", "01"); + * + * var users = new java.util.ArrayList(); + * users.add("adm"); + * + * notifier.notify("adm", "mail1", parameters, users, "text/html"); + * + * @param fromId Matrícula do usuário que está enviando o e-mail + * @param templateId Código do template de e-mail + * @param parameters java.util.HashMap com os parâmetros do e-mail + * @param to java.util.ArrayList com os destinatários do e-mail + * @param mimeType Tipo do conteúdo do e-mail. Pode ser text/html ou text/plain + * + */ + declare function notify(fromId: string, templateId: string, parameters: java.util.HashMap, to: java.util.ArrayList, mimeType: string): void; +}; -declare namespace com.fluig.sdk.api.holiday { - declare class HolidayVO {} -} -declare namespace com.fluig.sdk.api.job { - declare class JobVO {} -} +/** + * Funções para o uso dos serviços (Progress) + * + * Usar em qualquer evento. + */ +declare namespace ServiceManager { -declare namespace com.fluig.sdk.api.job.JobVO { - declare class IntervalType {} -} + /** + * Obtém o serviço especificado + * + * Normalmente utilizado para pegar o serviceHelper do serviço. + * + * @example + * var service = ServiceManager.getService("ems2_v10"); + * var serviceHelper = service.getBean(); + */ + declare function getService(serviceId: string): object; +}; -declare namespace com.fluig.sdk.api.local { - declare class LocalUserVO {} - declare class LocalVO {} -} +interface Task { + name: string; -declare namespace com.fluig.sdk.api.oauth { - declare class OAuthSdkVO {} -} + /** + * ID do usuário responsável + */ + responsible: string; -declare namespace com.fluig.sdk.api.permission { - declare class PermissionAssetVO { - getId(): number; - getCode(): string; - getDescription(): string; - getPageCode(): string; - getTypeCode(): string; - setId(id: number): void; - setCode(code: string): void; - setDescription(description: string): void; - setPageCode(pageCode: string): void; - setTypeCode(typeCode: string): void; - } - declare class PermissionVO { - getCategory(): string; - getCategoryCode(): string; - getIsSelected(): boolean; - getPermission(): string; - getPermissionDescription(): string; - setCategory(category: string): void; - setCategoryCode(categoryCode: string): void; - setIsSelected(isSelected: boolean): void; - setPermission(permission: string): void; - setPermissionDescription(permissionDescription: string): void; - } + /** + * Data no formato dd/mm/yyyy + */ + dueDate: string; } -declare namespace com.fluig.sdk.api.search { - declare class DefaultSearchRequest {} - declare class DefaultSearchResponse{} -} +/** + * Indica a Data e Hora de um prazo + */ +interface DeadLineDate { + /** + * Data no formato dd/mm/yyyy + */ + 0: string; -declare namespace com.fluig.sdk.api.social { - declare class ArticleCoverVO {} - declare class ArticleVO {} - declare class CommentVO {} - declare class CommunityVO {} - declare class CropVO {} - declare class MediaVO {} - declare class PostVO {} - declare class SociableVO {} - declare class SocialBreadcrumbItemVO {} - declare class SocialBreadcrumbVO {} - declare class SocialVO {} + /** + * Quantidade de segundos, a partir de 00:00:00, para alcançar determinada hora + */ + 1: number; } -declare namespace com.fluig.sdk.api.task { - declare class ResumedTasksVO {} - declare class TaskKindEnum {} - declare class TaskStatusEnum {} -} +/** + * Disponibiliza diversas funções para manipulação do processo + * + * Usar nos eventos do Processo. + */ +declare namespace hAPI { + /** + * Pega o valor de um campo do formulário + */ + declare function getCardValue(nomeCampo: string): string; -declare namespace com.fluig.sdk.api.workflow { - declare class AssumeProcessTaskResultVO { - getColleagueId(): string; - getComplement(): string; - getErrorCode(): string; - getMessage(): string; - getMovementSequence(): number; - getProcessInstanceId(): number; - getStatus(): com.fluig.sdk.api.enums.AssumeProcessTaskStatus; - getTenantId(): number; - setColleagueId(colleagueId: string): void; - setComplement(complement: string): void; - setErrorCode(errorCode: string): void; - setMessage(message: string): void; - setMovementSequence(movementSequence: number): void; - setProcessInstanceId(processInstanceId: number): void; - setStatus(status: com.fluig.sdk.api.enums.AssumeProcessTaskStatus): void; - setTenantId(tenantId: number): void; - } + /** + * Atribui valor a um campo do formulário + */ + declare function setCardValue(nomeCampo: string, valor: string): string; - declare class AssumeProcessTaskVO { - getColleagueId(): string; - getReplacementId(): string; - getMovementSequence(): number; - getProcessInstanceId(): number; - setColleagueId(colleagueId: string): void; - setReplacementId(replacementId: string): void; - setMovementSequence(movementSequence: number): void; - setProcessInstanceId(processInstanceId: number): void; - } - - declare class AssumeProcessTasksResultVO {} - declare class AssumeProcessTasksVO {} - declare class AttachmentVO {} - declare class CancelInstanceResultVO {} - declare class CancelInstanceVO {} - declare class CancelInstancesResultVO {} - declare class CancelInstancesVO {} - declare class CardIndexAttachmentVO {} - declare class CardIndexVO {} - declare class CardItemVO {} - declare class ProcessAttachmentVO {} - declare class ProcessDefinitionVO {} - declare class ProcessDefinitionVersionVO {} - declare class ProcessInstanceInfoVO {} - declare class ProcessObservationVO {} - declare class ProcessStateVO {} - declare class ProcessTaskInfoVO {} - - declare class ProcessTaskVO { - getColleagueId(): string; - getComplement(): string; - getSelectedColleagueId(): string; - getCompanyId(): number; - getMovementSequence(): number; - getProcessInstanceId(): number; - getTransferredSequence(): number; - setColleagueId(colleagueId: string): void; - setComplement(complement: string): void; - setSelectedColleagueId(selectedColleagueId: string): void; - setCompanyId(companyId: number): void; - setMovementSequence(movementSequence: number): void; - setProcessInstanceId(processInstanceId: number): void; - setTransferredSequence(transferredSequence: number): void; - } - - declare class ProcessVersionVO {} - declare class RequestProcessTaskVO {} - declare class RequestSLAVO {} - declare class RequestTaskSLAVO {} - declare class ResumeProcessTaskVO {} - declare class ResumeRequestsSLAVO {} - declare class WorkflowVO {} -} - -declare namespace com.fluig.sdk.filter { - declare class FilterFieldVO {} - declare class FilterGroupResultVO {} - declare class FilterGroupVO {} - declare class FilterOrderVO {} - declare class FilterResultVO {} - declare class FilterVO {} -} - -declare namespace com.fluig.sdk.identity { - declare class UserAuthTokenSessionVO {} -} - -declare namespace com.fluig.sdk.page { - declare class PageMobileApiVO {} - declare class PageWidgetMobileApiVO {} - declare class PublicApiPageVO {} -} - -declare namespace com.fluig.sdk.tenant { - declare class AdminUserVO {} - declare class TenantVO {} -} - -declare namespace com.fluig.sdk.user { - declare class ColleagueVO {} - declare class UserPasswordVO {} + /** + * Adiciona um filho no formulário pai e filho do processo + * + * @param tableName Nome da tabela pai-filho + * @param cardData Mapa com os campos e valores + */ + declare function addCardChild(tableName: string, cardData: java.util.HashMap): void; /** - * Representa um Usuário + * Encaminha o processo para uma determinada atividade + * + * Deve ser usado para tomar decisões em atividades automáticas de listener (AutomaticTasks). + * + * @example + * var colaboradores = new java.util.ArrayList(); + * colaboradores.add("adm"); + * hAPI.setAutomaticDecision(2, colaboradores, "Decisão Automática"); */ - declare class UserVO { - /** - * Pega o e-mail - */ - getEmail(): string - - /** - * Pega o nome completo - */ - getFullName(): string - - /** - * Pega o primeiro nome - */ - getFirstName(): string; - - /** - * Pega o sobrenome - */ - getLastName(): string; - - /** - * Pega o login - */ - getLogin(): string; - - /** - * Pega o código - */ - getCode(): string - - /** - * Pega todos os dados extras - */ - getExtData(): java.util.HashMap; - - /** - * Pega um dado extra - */ - getExtraData(key: string): object; - - /** - * Pega os grupos - */ - getGroups(): java.util.List; - - /** - * Pega o ID - */ - getId(): number; + declare function setAutomaticDecision(taskNumber: number, responsible: java.util.ArrayList, comment: string): void; - /** - * Informa se é um usuário Ativo - */ - getIsActive(): boolean; + /** + * Pega todas as threads em execução de um processo + * + * @example + * var threads = hAPI.getActiveStates(); + * log.info(threads.get(0)); + */ + declare function getActiveStates(): java.util.ArrayList; - /** - * Pega a senha - */ - getPassword(): string; + /** + * Pega o ID do processo Pai (caso de subprocesso) + * + * @param processInstanceId ID do processo + */ + declare function getParentInstance(processInstanceId: number): number; - /** - * Pega o fuso horário - */ - getTimezone(): string; + /** + * Pega uma lista dos processos que são filhos do processo indicado (subprocessos) + * + * @param processInstanceId ID do processo + */ + declare function getChildrenInstances(processInstanceId: number): java.util.List; - /** - * Pega os papéis - */ - getRoles(): java.util.List; + /** + * Altera o prazo de uma atividade do processo + * + * @example + * var processo = new java.lang.Integer(getValue("WKNumProces")); + * var data = new java.text.SimpleDateFormat("dd/MM/yyyy").parse("10/10/2010"); + * hAPI.setDueDate(processo, 0, "adm", data, 0); + * // Define o prazo para Hoje ao meio dia + * hAPI.setDueDate(1, 0, "adm", new java.util.Date(), 12 * 60 * 60); + * + * @param processId ID do Processo + * @param numThread ID da Thread (geralmente 0). Usado para processos que possuem FORK + * @param userId ID do responsável pela atividade + * @param dueDate Data do prazo de encerramento + * @param tempoSegundos Quantidade de segundos, a partir de 00:00:00, para alcançar determinada hora + */ + declare function setDueDate(processId: number, numThread: number, userId: string, dueDate: Date, timeInSeconds: number): void; - /** - * Pega o token de acesso - */ - getTokenAccess(): string; + /** + * Transfere o processo atual para outro(s) colaborador(es). + * Usar em eventos do Processo. + * + * @example + * var colaboradores = new java.util.ArrayList(); + * colaboradores.add("adm"); + * hAPI.transferTask(colaboradores, "Tarefa Transferida", 0); + * + * @param users IDs dos usuários + * @param comment + * @param numThread ID da Thread. Normalmente 0 + */ + declare function transferTask(users: java.util.ArrayList, comment: string, numThread?: number = 0): void; - /** - * Pega a senha do token - */ - getTokenSecret(): string; + /** + * Define uma observação para a atividade atual do processo. + * Usar em eventos do Processo. + * + * @param userId Matrícula do Colaborador + * @param processId ID do Processo + * @param threadId ID da Thread (geralmente 0). Usado para processos que possuem FORK. + * @param comment Comentário do processo para a atividade corrente + */ + declare function setTaskComments(userId: string, processId: number, threadId: number, comment: string): void; - /** - * Pega o UUID - */ - getUserUUID(): string; + /** + * Retorna o valor de uma propriedade avançada do Processo. + * Usar em eventos do Processo. + */ + declare function getAdvancedProperty(nomePropriedade: string): string; - /** - * Retorna objeto no mapa - */ - getValueExtData(key: string): object; - /** - * Adiciona dados extras - */ - addExtData(key: string, value: object): void; + /** + * Retorna o HashMap com os valores do formulário do processo. + * Usar em eventos do Processo. + * + * Para um formulário Pai e Filho os campos são identificados da seguinte forma: + * campo1___1, sendo campo1 o nome atribuído ao campo através da tag do campo HTML + * +___(3 underlines) + número sequencial do registro. + * + * @example + * var card = declare function getCardData(getValue("WKNumProces")); + * log.info(card.get("campo1")); + */ + declare function getCardData(numProcesso: number): java.util.HashMap; - /** - * Atribui o código - */ - setCode(code: string): void; + /** + * Inicia uma nova instância de um processo. + * Usar em eventos do Processo. + * + * @example + * var colaboradores = new java.util.ArrayList(); + * colaboradores.add("adm"); + * var formData = new java.util.HashMap(); + * formData.put("nome_do_campo_1", "valor_do_campo_1"); + * var resposta = startProcess("Processo", 0, colaboradores, "Iniciado automaticamente", false, formData, false); + * var numProcessoCriado = resposta.get("iProcess"); + * + * @param processId Código do processo cadastrado no Fluig. + * @param taskNumber Número da atividade de inicio do processo. Pode ser informado 0. + * @param users Matrícula dos usuários que receberão a atividade. + * @param comment Comentário para a atividade do processo. + * @param taskFinished indica se a tarefa sera finalizada apás a criação do processo. + * @param form HashMap representando propriedade/valor dos campos do formulário do processo. + * @param managerMode indica se a tarefa sera inicializada com o modo gestor do Fluig ativo. + * @returns HashMap com informações referentes ao processo criado + */ + declare function startProcess(processId: string, taskNumber: number, users: java.util.ArrayList, comment?: string, taskFinished?: boolean, form?: java.util.HashMap, managerMode?: boolean): java.util.HashMap; - /** - * Atribui o e-mail - */ - setEmail(email: string): void; + /** + * Calcula um prazo + * + * Cálculo feito a partir de uma data, com base no expediente e feriados cadastrados no produto, + * passando o prazo em horas. + * + * Importante: a Data retornada é formatada no padrão dd/mm/yyyy + * + * @example + * var data = new Date(); + * var deadlineDate = hAPI.calculateDeadLineHours(data, 50000, 2, "Default"); + * var processo = getValue("WKNumProces"); + * hAPI.setDueDate(processo, 0, 'adm', deadlineDate[0], deadlineDate[1]); + */ + declare function calculateDeadLineHours(deadlineDate: Date, seconds: number, deadlineInHours: number, periodId: string): DeadLineDate; - /** - * Atribui os dados extras - */ - setExtData(extData: java.util.HashMap): void; + /** + * Calcula um prazo + * + * Cálculo feito a partir de uma data, com base no expediente e feriados cadastrados no produto, + * passando o prazo em segundos. + * + * Importante: a Data retornada é formatada no padrão dd/mm/yyyy + * + * @example + * var data = new Date(); + * var deadlineDate = hAPI.calculateDeadLineHours(data, 50000, 2, "Default"); + * var processo = getValue("WKNumProces"); + * hAPI.setDueDate(processo, 0, 'adm', deadlineDate[0], deadlineDate[1]); + */ + declare function calculateDeadLineTime(deadlineDate: Date, seconds: number, deadlineInHours: number, periodId: string): DeadLineDate; - /** - * Atribui um valor para um dado extra - */ - setExtraData(key: string, value: object): void; + /** + * Atribui um usuário substituto para a atividade atual do processo. + * + * Usar em eventos do Processo. + */ + declare function setColleagueReplacement(responsible: string): void; - /** - * Atribui o primeiro nome - */ - setFirstName(firstName: string): void; + /** + * Retorna o link para movimentação da solicitação. + * + * Usar em eventos do Processo. + */ + declare function getUserTaskLink(numAtividade: number): string; - /** - * Atribui o sobrenome - */ - setLastName(lastName: string): void; + /** + * Pega o ID da Thread atual + */ + declare function getActualThread(companyNumber, processNumber, activityNumber): number; - /** - * Atribui o nome completo - */ - setFullName(fullName: string): void; + /** + * Permite a criação de atividades adhoc dentro dos eventos do Fluig + * + * @param processoId Número da Solicitação + * @param sequenceId Código processstate da atividade que tem o processo ad-hoc + * @param assunto Assunto + * @param detalhamento Detalhamento + * @param tarefas Lista de tarefas + */ + declare function createAdHocTasks(processoId: number, sequenciaId: number, assunto: string, detalhamento: string, tarefas: Task[]): void; - /** - * Atribui os grupos - */ - setGroups(groups: java.util.List): void; + /** + * Retorna a lista de anexos do processo + * + * Somente anexos do tipo GED e Workflow são retornados. + */ + declare function listAttachments(): java.util.List; - /** - * Atribui o ID - */ - setId(id: number): void; + /** + * Permite publicar anexo workflow da solicitação no GED + * + * É obrigatório informar a pasta destino através do método setParentDocumentId + */ + declare function publishWorkflowAttachment(documentDto: DocumentDto): void; - /** - * Atribui o status de Ativo - */ - setIsActive(isActive: boolean): void; + /** + * Permite anexar documentos do GED à solicitação workflow + * + * @throws {Error} + */ + declare function attachDocument(documentId: number): void; - /** - * Atribui o login - */ - setLogin(login: string): void; + /** + * Retorna os campos filhos, e seus valores, de uma tabela pai. + * + * Retorna um objeto com a propriedade sendo o nome do campo e seus valores. + */ + declare function getChildrenFromTable(tableName: string): object; - /** - * Atribui a senha - */ - setPassword(password: string): void; + /** + * Retorna os índices dos campos filhos de uma tabela pai. + * + * @see https://tdn.totvs.com/display/public/fluig/Eventos+de+Processos#EventosdeProcessos-EventosdeFormul%C3%A1rioPaiFilho + */ + declare function getChildrenIndexes(tableName: string): number[]; - /** - * Atribui os papéis - */ - setRoles(roles: java.util.List): void; + /** + * + */ + declare function getAvailableStatesDetail(companyId: number, userId: string, processId: number, processInstanceId: number, threadSequenceId: number = 0); +}; - /** - * Atribui o fuso horário - */ - setTimezone(timezone: string): void; +/** + * Envia mensagens ao Log do ECM Server + */ +declare namespace log { - /** - * Atribui o token de acesso - */ - setTokenAccess(token: string): void; + /** + * Log com "criticidade" INFO + */ + declare function info(message: string): void; - /** - * Atribui a senha do token - */ - setTokenSecret(tokenSecret: string): void; + /** + * Log com "criticidade" WARNING + */ + declare function warn(message: string): void; - /** - * Atribui o UUID - */ - setUserUUID(userUUID: string): void; - } -} + /** + * Log com "criticidade" ERROR + */ + declare function error(message: string): void; -declare namespace com.totvs.technology.foundation.sdk.service.vo.common { - declare class OrderParam {} -} + /** + * Log com "criticidade" FATAL + */ + declare function fatal(message: string): void; +}; -declare namespace java.util { - declare abstract class Iterator { - /** - * Indica se ainda há elementos a percorrer - */ - hasNext(): boolean; +/** + * Configuração para uma requisição efetuada pelo método WCMAPI.Create + */ +interface WcmApiRequestSettings { + url?: string; - /** - * Pega o próximo elemento - */ - next(): T; - } + /** + * Verbo HTTP utilizado na requisição (padrão é GET) + */ + method?: string; - declare abstract class Set { - /** - * Adiciona um elemento ao conjunto - */ - add(value: T): boolean; + /** + * Tipo do envio. + * + * Pode ser: + * - application/x-www-form-urlencoded (padrão) + * - multipart/form-data (quando quer fazer envio de arquivos) + * - text/plain + */ + contentType?: string; - /** - * Indica se o conjunto está vazio - */ - isEmpty(): boolean; + /** + * Tipo do resultado esperado da requisição. + * + * O resultado da requisição será convertido para o tipo especificado e então + * enviado ao método success. + * + * Os tipos possíveis são: + * - xml + * - html + * - script + * - json + * - jsonp + * - text + */ + dataType?: string; - /** - * Pega a quantidade de elementos do conjunto - */ - size(): number; + /** + * Dados para enviar + */ + data?: string|object; - /** - * Remove todos os elementos - */ - clear(): void; + /** + * Função que será executada em caso de sucesso + * + * @param data + * @param textStatus + * @param jqXHR Objeto da JQuery + */ + success?: function (string|object, string, object): void; - /** - * Verifica se existe o elemento - */ - contains(value: T): boolean; + /** + * Função que será executada em caso de falha + * + * @param jqXHR Objeto da JQuery + * @param textStatus + * @param errorThrown + */ + error?: function (object, string, string): void; - /** - * Pega um iterator para percorrer o conjunto - */ - iterator(): java.util.Iterator; - } + /** + * Converter os dados para o padrão application/x-www-form-urlencoded + * + * Por padrão os dados são convertidos para application/x-www-form-urlencoded, + * mas você pode desabilitar essa conversão para poder enviar um DOMDocument + * ou outro tido de dado sem a conversão. + */ + processData?: boolean; +} - declare abstract class List { - /** - * Pega o elemento no índice indicado - */ - get(index: number): T; - /** - * Adiciona um elemento à lista - */ - add(value: T): void; +/** + * Consultar dados do ambiente da sessão via JS (Client Side) + */ +declare namespace WCMAPI { + /** + * Endereço do servidor (incluindo protocolo e porta) + */ + const serverURL: string; - /** - * Adiciona todos os elementos da lista indicada para esta lista - */ - addAll(l: java.util.List): void; + /** + * ID do tenant ao qual o usuário está conectado + */ + const organizationId: string; - /** - * Indica o tamanho da lista - */ - size(): number; + /** + * Indica se usuário está logado + */ + const userIsLogged: boolean; - /** - * Remove todos os elementos - */ - clear(): void; + /** + * Nome do usuário logado + */ + const user: string; - /** - * Verifica se existe o elemento - */ - contains(value: T): boolean; + /** + * Login do usuário logado + */ + const userLogin: string; - /** - * Indica se a lista está vazia - */ - isEmpty(): boolean; + /** + * Código (matrícula) do usuário logado + */ + const userCode: string; - /** - * Pega um iterator para percorrer a lista - */ - iterator(): java.util.Iterator - } + /** + * E-mail do usuário logado + */ + const userEmail: string; - declare class ArrayList extends List { - } + /** + * Indica se a sessão está expirada + */ + const sessExpired: boolean; - declare abstract class Map { - /** - * Pega o elemento no índice indicado - */ - get(name: K): T; + /** + * Versão do fluig + */ + const version: string; - /** - * Adiciona um elemento - */ - put(name: K, value: T): void; + /** + * Código do tenant ao qual o usuário está conectado + */ + const tenantCode: string; - /** - * Indica o tamanho da lista - */ - size(): number; + /** + * Raíz da URL do portal da plataforma + */ + const serverContextURL: string; - /** - * Remove todos os elementos - */ - clear(): void; + /** + * Pega o endereço do servidor (incluindo protocolo e porta) + */ + declare function getServerURL(): string; - /** - * Copia todos os elementos do mapa indicado para este mapa - */ - putAll(m: java.util.Map): void; + /** + * Pega o ID do tenant ao qual o usuário está conectado + */ + declare function getOrganizationId(): string; - /** - * Retorna um conjunto com as chaves do Mapa - */ - keySet(): java.util.Set; - } + /** + * Pega o código do tenant ao qual o usuário está conectado + */ + declare function getTenantCode(): string; - declare class HashMap extends java.util.Map { - } + /** + * Retorna a raíz da URL do portal da plataforma + */ + declare function getServerContextURL(): string; + + /** + * Envia uma requisição ao servidor do Fluig + * + * A requisição é feita pela JQuery. + * @see https://tdn.totvs.com/display/public/fluig/Consumo+de+um+WS+SOAP+de+um+Widget#ConsumodeumWSSOAPdeumWidget-ConsumirumWSSOAPdeumWidget + */ + declare function Create(settings: WcmApiRequestSettings): void; - declare class LinkedHashSet extends java.util.Set { - } + /** + * Encerra a sessão do usuário + */ + declare function logoff(): void; +} - declare class LinkedHashMap extends java.util.HashMap { - } +interface WidgetUpdatePreferences { + /** + * Indica se será uma chamada assíncrona + */ + async: boolean; - declare class Date { + /** + * Função executada em caso de sucesso + * + * @param data + */ + success?: function (object): void; - /** - * Inicializa com a data do momento que o objeto foi criado - */ - constructor(); + /** + * Função executada em caso de falha + * + * @param jqXHR Objeto da JQuery + * @param message Mensagem do erro + * @param errorData Objeto retornado pelo erro + */ + fail?: function (object, string, errorData): void; +} - /** - * Inicializa com a data em milisegundos decorridos desde 1970-01-01 00:00:00 GMT - */ - constructor(date: number); +declare namespace WCMSpaceAPI.PageService { + declare function UPDATEPREFERENCES(settings: WidgetUpdatePreferences, instanceId: number, preferences: object): void; +} +declare namespace java.lang { + declare class Object { /** - * Compara se essa data é posterior à data indicada + * Retorna o valor do objeto como uma string */ - after(when: Date): boolean; + toString(): string; + } +} - /** - * Compara se essa data é anterior à data indicada - */ - before(when: Date): boolean; +declare namespace javax.naming { + /** + * Inicia um Contexto + */ + declare class InitialContext { /** - * Retorna o dia do mês + * Recupera o DataSource do Banco de Dados * - * @deprecated Usar Calendar.get(Calendar.DAY_OF_MONTH) + * @param {string} dataSource O nome do dataSource. Ex: /jdbc/PostgreSqlDS + * @throws Exception */ - getDate(): number; + lookup(dataSource: string): javax.sql.DataSource; /** - * Retorna o dia da semana - * - * @deprecated Usar Calendar.get(Calendar.DAY_OF_WEEK) + * Fecha o contexto ao invés de aguardar o coletor de lixo */ - getDay(): number; + close(): void; + } +} +declare namespace javax.sql { + declare class DataSource { /** - * Retorna a hora + * Recupera a Conexão com o Banco de Dados * - * @deprecated Usar Calendar.get(Calendar.HOUR_OF_DAY) + * @throws Exception */ - getHours(): number; + getConnection(): Connection; + } + /** + * Conexão com o Banco de Dados + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html + */ + declare class Connection { /** - * Retorna os minutos + * Cria o objeto que executará o SQL * - * @deprecated Usar Calendar.get(Calendar.MINUTE) + * @throws Exception */ - getMinutes(): number; + createStatement(): Statement; /** - * Retorna o mês - * - * @deprecated Usar Calendar.get(Calendar.MONTH) + * Encerra a conexão ao invés de aguardar o coletor de lixo */ - getMonth(): number; + close(): void; + } + /** + * Objeto que executa uma instrução SQL + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html + */ + declare class Statement { /** - * Retorna os segundos + * Executa um SQL que deve ser uma consulta (SELECT) * - * @deprecated Usar Calendar.get(Calendar.SECOND) + * @throws Exception */ - getSeconds(): number; + executeQuery(sql: string): ResultSet; /** - * Retorna o ano + * Executa um SQL que modifica algo no banco (INSERT, UPDATE ou DELETE) * - * @deprecated Usar Calendar.get(Calendar.YEAR) - 1900 + * @returns {number} Quantidade de registros afetados + * @throws Exception */ - getYear(): number; + executeUpdate(sql: string): number; /** - * Atribui o dia do mês - * - * @deprecated Usar Calendar.set(Calendar.DAY_OF_MONTH, dia) + * Libera os recursos da execução imediatamente ao invés de aguardar o coletor de lixo */ - setDate(): number; + close(): void; + } - /** - * Atribui a hora - * - * @deprecated Usar Calendar.get(Calendar.HOUR_OF_DAY, hora) - */ - setHours(): number; + /** + * Representa o resultado de uma consulta SQL + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html + */ + declare class ResultSet { /** - * Atribui os minutos + * Move o cursor para o primeiro resultado da consulta * - * @deprecated Usar Calendar.set(Calendar.MINUTE, minutos) + * @returns {boolean} Retorna true se moveu o cursor */ - setMinutes(): number; + first(): boolean; /** - * Atribui o mês + * Move o cursor para o último resultado da consulta * - * @deprecated Usar Calendar.set(Calendar.MONTH, mes) + * @returns {boolean} Retorna true se moveu o cursor */ - setMonth(): number; + last(): boolean; /** - * Atribui os segundos + * Move o cursor para o próximo resultado da consulta * - * @deprecated Usar Calendar.set(Calendar.SECOND, segundos) + * @returns {boolean} Retorna true se moveu o cursor */ - setSeconds(): number; + next(): boolean; /** - * Atribui o ano + * Move o cursor para o resultado anterior da consulta * - * @deprecated Usar Calendar.set(Calendar.YEAR, ano + 1900) + * @returns {boolean} Retorna true se moveu o cursor */ - setYear(): number; - } + previous(): boolean; - /** - * A Classe Calendar não deve ser instanciada com operador new. Use sempre o método getInstance(). - * - * Essa classe á abstrata e o Java normalmente vai instanciar um GregorianCalendar quando chamada a getInstance(). - */ - declare abstract class Calendar { /** - * Cria uma instância de Calendário - * - * Essa classe é abstrata, por isso não é possível instanciá-la diretamente. + * Pega o número, tipos e propriedades das colunas retornadas na consulta */ - static getInstance(): Calendar; - - // Constantes indicando os valores dos meses + getMetaData(): ResultSetMetaData; /** - * Indica o valor de Janeiro + * Retorna o valor da coluna como um Objeto Java + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. */ - static const JANUARY: number; + getObject(columnIndex: number): java.lang.Object; + getObject(columnLabel: string): java.lang.Object; /** - * Indica o valor de Fevereiro + * Retorna o valor da coluna como uma string + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. */ - static const FEBRUARY: number; + getString(columnIndex: number): string; + getString(columnLabel: string): string; /** - * Indica o valor de Março + * Retorna o valor da coluna como um boolean + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. */ - static const MARCH: number; + getBoolean(columnIndex: number): boolean; + getBoolean(columnLabel: string): boolean; /** - * Indica o valor de Abril + * Retorna o valor da coluna como objeto Date + * + * Esse método retorna um java.sql.Date que herda de java.util.Date. + * Para evitar retrabalho deixei como java.util.Date mesmo. + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como byte, java.sql.Blob etc. */ - static const APRIL: number; + getDate(columnIndex: number): java.util.Date; + getDate(columnLabel: string): java.util.Date; /** - * Indica o valor de Maio + * Libera o resultado da consulta imediatamente ao invés de aguardar o coletor de lixo */ - static const MAY: number; + close(): void; + } + declare class ResultSetMetaData { /** - * Indica o valor de Junho + * Pega o total de colunas da consulta */ - static const JUNE: number; + getColumnCount(): number; /** - * Indica o valor de Julho + * Pega o Nome da Coluna (label) */ - static const JULY: number; + getColumnName(column: number): string; + } +} - /** - * Indica o valor de Agosto - */ - static const AUGUST: number; +declare namespace java.text { + /** + * Formatador de Datas + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html + */ + declare class SimpleDateFormat { /** - * Indica o valor de Setembro + * Cria um novo formatador de datas com o padrão indicado + * + * Exemplos: + * + * - "dd/MM/yyyy" -> data no formato pt-BR + * - "yyyy-MM-dd" -> data no formato ISO + * - "HH:mm" -> Hora (24h) e minuto + * - "yyyy-MM-dd'T'HH:mm:ss.SSSZ" -> Data completa (Ex: 2021-07-04T12:08:56.235-0700) + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html */ - static const SEPTEMBER: number; + constructor(formato: string); /** - * Indica o valor de Outubro + * Retorna a data formatada conforme o padrão da formatação */ - static const OCTOBER: number; + format(data: java.util.Date): string; /** - * Indica o valor de Novembro + * Converte uma string, formatada como indicado no construtor, em um objeto Date */ - static const NOVEMBER: number; + parse(dataFormatada: string): java.util.Date; + } +} +declare namespace java.util { + declare abstract class Iterator { /** - * Indica o valor de Dezembro + * Indica se ainda há elementos a percorrer */ - static const DECEMBER: number; - - // Constantes de horário + hasNext(): boolean; /** - * Indica que a hora é antes de meio dia + * Pega o próximo elemento */ - static const AM: number; + next(): T; + } + declare abstract class Set { /** - * Indica que a hora é após meio dia + * Adiciona um elemento ao conjunto */ - static const PM: number; - - // Constantes de dia da semana + add(value: T): boolean; /** - * Indica que é Domingo + * Indica se o conjunto está vazio */ - static const SUNDAY: number; + isEmpty(): boolean; /** - * Indica que é segunda-feira + * Pega a quantidade de elementos do conjunto */ - static const MONDAY: number; + size(): number; /** - * Indica que é terça-feira + * Remove todos os elementos */ - static const TUESDAY: number; + clear(): void; /** - * Indica que é quarta-feira - */ - static const WEDNESDAY: number; + * Verifica se existe o elemento + */ + contains(value: T): boolean; /** - * Indica que é quinta-feira + * Pega um iterator para percorrer o conjunto */ - static const THURSDAY: number; + iterator(): java.util.Iterator; + } + declare abstract class List { /** - * Indica que é sexta-feira + * Pega o elemento no índice indicado */ - static const FRIDAY: number; + get(index: number): T; /** - * Indica que é Sábado + * Adiciona um elemento à lista */ - static const SATURDAY: number; - - - // Constantes de campo + add(value: T): void; /** - * Campo que indica se horário é antes ou depois do meio dia + * Adiciona todos os elementos da lista indicada para esta lista */ - static const AM_PM: number; + addAll(l: java.util.List): void; /** - * Campo que indica o dia do mês + * Indica o tamanho da lista */ - static const DATE: number; + size(): number; /** - * Campo que indica o dia do mês + * Remove todos os elementos */ - static const DAY_OF_MONTH: number; + clear(): void; /** - * Campo que indica o dia da semana + * Verifica se existe o elemento */ - static const DAY_OF_WEEK: number; + contains(value: T): boolean; /** - * Campo que indica o dia do ano + * Indica se a lista está vazia */ - static const DAY_OF_YEAR: number; + isEmpty(): boolean; /** - * Campo que indica a hora antes ou depois do meio dia (12h) + * Pega um iterator para percorrer a lista */ - static const HOUR: number; + iterator(): java.util.Iterator + } - /** - * Campo que indica a hora do dia (24h) - */ - static const HOUR_OF_DAY: number; + declare class ArrayList extends List { + } + declare abstract class Map { /** - * Campo que indica os milissegundos + * Pega o elemento no índice indicado */ - static const MILLISECOND: number; + get(name: K): T; /** - * Campo que indica os minutos + * Adiciona um elemento */ - static const MINUTE: number; + put(name: K, value: T): void; /** - * Campo que indica o mês + * Indica o tamanho da lista */ - static const MONTH: number; + size(): number; /** - * Campo que indica os segundos + * Remove todos os elementos */ - static const SECOND: number; + clear(): void; /** - * Campo que indica a semana do mês + * Copia todos os elementos do mapa indicado para este mapa */ - static const WEEK_OF_MONTH: number; + putAll(m: java.util.Map): void; /** - * Campo que indica a semana do ano + * Retorna um conjunto com as chaves do Mapa */ - static const WEEK_OF_YEAR: number; + keySet(): java.util.Set; + } - /** - * Campo que indica o ano - */ - static const YEAR: number; + declare class HashMap extends java.util.Map { + } - /** - * Retorna o valor do campo indicado - * - * @param {number} campo Uma das constantes da classe indicando o campo - */ - get(campo: number): number; + declare class LinkedHashSet extends java.util.Set { + } - /** - * Retorna o valor do campo indicado - * - * @param {number} campo Uma das constantes da classe indicando o campo - * @param {number} valor O valor que será atribuído ao campo - */ - set(campo: number, valor: number): void; + declare class LinkedHashMap extends java.util.HashMap { + } + + declare class Date { /** - * Retorna o calendário como um objeto Date + * Inicializa com a data do momento que o objeto foi criado */ - getTime(): Date; + constructor(); /** - * Configura o calendário usando um objeto Date + * Inicializa com a data em milisegundos decorridos desde 1970-01-01 00:00:00 GMT */ - setTime(data: Date): void; + constructor(date: number); /** * Compara se essa data é posterior à data indicada */ - after(data: Calendar): boolean; + after(when: Date): boolean; /** * Compara se essa data é anterior à data indicada */ - before(data: Calendar): boolean; + before(when: Date): boolean; /** - * Configura o calendário com o Ano, Mês e Dia + * Retorna o dia do mês + * + * @deprecated Usar Calendar.get(Calendar.DAY_OF_MONTH) */ - set(ano: number, mes: number, dia: number): void; + getDate(): number; /** - * Configura o calendário com o Ano, Mês, Dia, Hora e Minutos + * Retorna o dia da semana + * + * @deprecated Usar Calendar.get(Calendar.DAY_OF_WEEK) */ - set(ano: number, mes: number, dia: number, hora: number, minutos: number): void; + getDay(): number; /** - * Configura o calendário com o Ano, Mês, Dia, Hora, Minutos e Segundos + * Retorna a hora + * + * @deprecated Usar Calendar.get(Calendar.HOUR_OF_DAY) */ - set(ano: number, mes: number, dia: number, hora: number, minutos: number, segundos: number): void; + getHours(): number; /** - * Adiciona ou Subtrai 1 unidade do campo indicado + * Retorna os minutos * - * @param {number} campo Uma das constantes de campo - * @param {boolean} aumentaValor Se for true aumentará o campo, senão ele será diminuído + * @deprecated Usar Calendar.get(Calendar.MINUTE) */ - roll(campo: number, aumentaValor: boolean): void; + getMinutes(): number; /** - * Adiciona ou Subtrai unidades do campo indicado + * Retorna o mês * - * @param {number} campo Uma das constantes de campo - * @param {boolean} valor Valor que será utilizado no cálculo. Se positivo aumentará, se negativo diminuirá + * @deprecated Usar Calendar.get(Calendar.MONTH) */ - roll(campo: number, valor: number): void; - } -} - - -/** - * Entidade Aprovador - */ -declare class ApproverDto { - - /** - * Pega o número do aprovador - */ - getapproverId(): number; - - /** - * Pega a versão do aprovador - */ - getVersion(): number; - - /** - * Pega o código da empresa na qual o aprovador foi publicado - */ - getCompanyId(): number; - - /** - * Pega a matrícula do colaborador que criou o aprovador - */ - getColleagueId(): number; - - /** - * Pega o tipo de aprovação Pode ser 0 para Colaborador ou 1 para Grupo - */ - getApproverType(): number; - - /** - * Pega o nível de aprovação no caso de aprovação em níveis - */ - getLevelId(): number; -} - -/** - * Entidade Documento para usar nos Eventos - */ -declare class DocumentDto { + getMonth(): number; - /** - * Pega o número do documento - */ - getDocumentId(): number; + /** + * Retorna os segundos + * + * @deprecated Usar Calendar.get(Calendar.SECOND) + */ + getSeconds(): number; - /** - * Pega a versão do documento - */ - getVersion(): number; + /** + * Retorna o ano + * + * @deprecated Usar Calendar.get(Calendar.YEAR) - 1900 + */ + getYear(): number; - /** - * Pega o código da empresa em que o documento foi publicado - */ - getCompanyId(): number; + /** + * Atribui o dia do mês + * + * @deprecated Usar Calendar.set(Calendar.DAY_OF_MONTH, dia) + */ + setDate(): number; - /** - * Pega o UUID do documento - */ - getUUID(): string; + /** + * Atribui a hora + * + * @deprecated Usar Calendar.get(Calendar.HOUR_OF_DAY, hora) + */ + setHours(): number; - /** - * Pega o tipo do arquivo físico. Se retornar em branco ou nulo é um tipo desconhecido - */ - getDocumentTypeId(): string; + /** + * Atribui os minutos + * + * @deprecated Usar Calendar.set(Calendar.MINUTE, minutos) + */ + setMinutes(): number; - /** - * Pega o código do idioma do documento - */ - getLanguageId(): string; + /** + * Atribui o mês + * + * @deprecated Usar Calendar.set(Calendar.MONTH, mes) + */ + setMonth(): number; - /** - * Pega o código do ícone do documento - */ - getIconId(): number; + /** + * Atribui os segundos + * + * @deprecated Usar Calendar.set(Calendar.SECOND, segundos) + */ + setSeconds(): number; - /** - * Pega o código do assunto do documento - */ - getTopicId(): number; + /** + * Atribui o ano + * + * @deprecated Usar Calendar.set(Calendar.YEAR, ano + 1900) + */ + setYear(): number; + } /** - * Pega a matrícula do colaborador que criou o documento + * A Classe Calendar não deve ser instanciada com operador new. Use sempre o método getInstance(). + * + * Essa classe á abstrata e o Java normalmente vai instanciar um GregorianCalendar quando chamada a getInstance(). */ - getColleagueId(): string; + declare abstract class Calendar { + /** + * Cria uma instância de Calendário + * + * Essa classe é abstrata, por isso não é possível instanciá-la diretamente. + */ + static getInstance(): Calendar; - /** - * Pega a descrição do documento - */ - getDocumentDescription(): string; + // Constantes indicando os valores dos meses - /** - * Pega os comentários adicionais do documento - */ - getAdditionalComments(): string; + /** + * Indica o valor de Janeiro + */ + static const JANUARY: number; - /** - * Pega o caminho físico do documento - */ - getPhisicalFile(): string; + /** + * Indica o valor de Fevereiro + */ + static const FEBRUARY: number; - /** - * Pega a data de criação do documento - */ - getCreateDate(): Date; + /** + * Indica o valor de Março + */ + static const MARCH: number; - /** - * Pega a data de aprovação do documento - */ - getApprovedDate(): Date; + /** + * Indica o valor de Abril + */ + static const APRIL: number; - /** - * Pega a data da última modificação do documento - */ - getLastModifiedDate(): Date; + /** + * Indica o valor de Maio + */ + static const MAY: number; - /** - * Pega a data da última modificação do documento - */ - getExpirationDate(): Date; + /** + * Indica o valor de Junho + */ + static const JUNE: number; - /** - * Pega o tipo do documento - */ - getDocumentType(): DocumentTypeEnum; + /** + * Indica o valor de Julho + */ + static const JULY: number; - /** - * Pega o número da pasta/formulário pai - */ - getParentDocumentId(): number; + /** + * Indica o valor de Agosto + */ + static const AUGUST: number; - /** - * Pega o nome do arquivo físico principal e anexos - */ - getRelatedFiles(): number; + /** + * Indica o valor de Setembro + */ + static const SEPTEMBER: number; - /** - * Verifica se o documento está ativo - */ - getActiveVersion(): boolean; + /** + * Indica o valor de Outubro + */ + static const OCTOBER: number; - /** - * Pega a descrição da versão - */ - getVersionDescription(): string; + /** + * Indica o valor de Novembro + */ + static const NOVEMBER: number; - /** - * Verifica se o documento permite download - */ - getDownloadEnabled(): boolean; + /** + * Indica o valor de Dezembro + */ + static const DECEMBER: number; - /** - * Verifica se o documento está em aprovação - */ - getApproved(): boolean; + // Constantes de horário - /** - * Pega a data a partir que o documento poderá ser visualizado - */ - getValidationStartDate(): Date + /** + * Indica que a hora é antes de meio dia + */ + static const AM: number; - /** - * Pega a matrícula do colaborador que publicou o documento - */ - getPublisherId(): string; + /** + * Indica que a hora é após meio dia + */ + static const PM: number; - /** - * Pega a descrição da ficha para documento do tipo 5 - */ - getCardDescription(): string; + // Constantes de dia da semana - /** - * Pega o formulário que foi usado como base para criação da ficha. - * - * Utilizado somente com documento do tipo 5. - */ - getDocumentPropertyNumber(): number; + /** + * Indica que é Domingo + */ + static const SUNDAY: number; - /** - * Pega a versão do formulário em que a ficha foi criada - */ - getDocumentPropertyVersion(): number; + /** + * Indica que é segunda-feira + */ + static const MONDAY: number; - /** - * Pega o código da empresa em que o documento foi publicado - */ - getCompanyId(): number; + /** + * Indica que é terça-feira + */ + static const TUESDAY: number; - /** - * Verifica se o documento/pasta está abaixo de pasta particular - */ - getPrivateDocument(): boolean; + /** + * Indica que é quarta-feira + */ + static const WEDNESDAY: number; - /** - * Pega a matrícula do colaborador onde o documento particular está alocado - */ - getPrivateColleagueId(): string; + /** + * Indica que é quinta-feira + */ + static const THURSDAY: number; - /** - * Verifica se o arquivo foi indexado - */ - getIndexed(): boolean; + /** + * Indica que é sexta-feira + */ + static const FRIDAY: number; + + /** + * Indica que é Sábado + */ + static const SATURDAY: number; - /** - * Pega a prioridade do documento - */ - getPriority(): number; - /** - * Verifica se notifica os usuários que tenham esse assunto de interesse - */ - getUserNotify(): boolean; + // Constantes de campo - /** - * Verifica se o documento está expirado - */ - getExpires(): boolean; + /** + * Campo que indica se horário é antes ou depois do meio dia + */ + static const AM_PM: number; - /** - * Pega o volume onde o documento foi publicado. Se estiver em branco foi no volume pai. - */ - getVolumeId(): string; + /** + * Campo que indica o dia do mês + */ + static const DATE: number; - /** - * Verifica se herda segurança do pai - */ - getInheritSecurity(): boolean; + /** + * Campo que indica o dia do mês + */ + static const DAY_OF_MONTH: number; - /** - * Verifica se atualiza as propriedades da cópia controlada - */ - getUpdateIsoProperties(): boolean; + /** + * Campo que indica o dia da semana + */ + static const DAY_OF_WEEK: number; - /** - * Pega a hora da última modificação em milissegundos - */ - getLastModifiedTime(): string; + /** + * Campo que indica o dia do ano + */ + static const DAY_OF_YEAR: number; - /** - * Verifica se o documento está na lixeira - */ - getDeleted(): boolean; + /** + * Campo que indica a hora antes ou depois do meio dia (12h) + */ + static const HOUR: number; - /** - * Pega o documento do dataset se o documento é um formulário - */ - getDatasetName(): string; + /** + * Campo que indica a hora do dia (24h) + */ + static const HOUR_OF_DAY: number; - /** - * Pega as palavras-chave do documento. Cada palavra é separada por vírgula. - */ - getKeyWord(): string; + /** + * Campo que indica os milissegundos + */ + static const MILLISECOND: number; - /** - * Verifica se a versão/revisão é inalterável - */ - getImutable(): boolean; + /** + * Campo que indica os minutos + */ + static const MINUTE: number; - /** - * Verifica se o documento está em edição, para documento do tipo "Novo Conteúdo" - */ - getDraft(): boolean; + /** + * Campo que indica o mês + */ + static const MONTH: number; - /** - * Verifica se utiliza visualizador interno - */ - getInternalVisualizer(): boolean; + /** + * Campo que indica os segundos + */ + static const SECOND: number; - /** - * Pega o tamanho físico do documento principal e anexos - */ - getPhisicalFileSize(): number; -}; + /** + * Campo que indica a semana do mês + */ + static const WEEK_OF_MONTH: number; -/** - * Entidade Segurança do Documento - */ -declare class DocumentSecurityConfigDto { + /** + * Campo que indica a semana do ano + */ + static const WEEK_OF_YEAR: number; - /** - * Pega o número do documento - */ - getDocumentId(): number; + /** + * Campo que indica o ano + */ + static const YEAR: number; - /** - * Pega a versão do documento - */ - getVersion(): number; + /** + * Retorna o valor do campo indicado + * + * @param {number} campo Uma das constantes da classe indicando o campo + */ + get(campo: number): number; - /** - * Pega o código da empresa em que o documento foi publicado - */ - getCompanyId(): number; + /** + * Atribui o valor ao campo indicado + * + * @param {number} campo Uma das constantes da classe indicando o campo + * @param {number} valor O valor que será atribuído ao campo + */ + set(campo: number, valor: number): void; - /** - * Pega a matrícula de um colaborador ou o código do grupo que está na segurança do documento - * - * É possível saber se vai retornar um colaborador ou um grupo pelo tipo da segurança. - * Retorna em branco quando o tipo é todos os usuários - */ - getAttributionValue(): string; + /** + * Retorna o calendário como um objeto Date + */ + getTime(): Date; - /** - * Verifica se é uma permissão - * - * Se não é uma permissão é uma restrição. - */ - getPermission(): boolean; + /** + * Configura o calendário usando um objeto Date + */ + setTime(data: Date): void; - /** - * Verifica se lista o conteúdo - */ - getShowContent(): boolean; + /** + * Compara se essa data é posterior à data indicada + */ + after(data: Calendar): boolean; - /** - * Pega o nível de permissão/restrição. - * - * Tipos de permissão/restrição: - * - -1: Sem permissão/restrição (nega acesso) - * - 0: Leitura - * - 1: Gravação - * - 2: Modificação - * - 3: Total - */ - getAttributionType(): number; + /** + * Compara se essa data é anterior à data indicada + */ + before(data: Calendar): boolean; - /** - * Pega a sequência da permissão/restrição - */ - getSequence(): number; + /** + * Configura o calendário com o Ano, Mês e Dia + */ + set(ano: number, mes: number, dia: number): void; - /** - * Verifica se ele utiliza a segurança desta versão nas demais - */ - getSecurityVersion(): boolean; -}; + /** + * Configura o calendário com o Ano, Mês, Dia, Hora e Minutos + */ + set(ano: number, mes: number, dia: number, hora: number, minutos: number): void; + /** + * Configura o calendário com o Ano, Mês, Dia, Hora, Minutos e Segundos + */ + set(ano: number, mes: number, dia: number, hora: number, minutos: number, segundos: number): void; -/** - * Permite a passagem de parâmetros entre os eventos do Workflow - */ -declare namespace globalVars { + /** + * Adiciona ou Subtrai 1 unidade do campo indicado + * + * @param {number} campo Uma das constantes de campo + * @param {boolean} aumentaValor Se for true aumentará o campo, senão ele será diminuído + */ + roll(campo: number, aumentaValor: boolean): void; - /** - * Insere um valor nos parâmetros gerais - */ - declare function put(name: string, value: object): void; + /** + * Adiciona ou Subtrai unidades do campo indicado + * + * @param {number} campo Uma das constantes de campo + * @param {boolean} valor Valor que será utilizado no cálculo. Se positivo aumentará, se negativo diminuirá + */ + roll(campo: number, valor: number): void; + } +} +interface IwsConsultaSQL { /** - * Pega um valor dos parâmetros gerais + * Realiza uma consulta a um SQL previamente cadastrado no BI do RM + * + * @param {string} sql Código (ID) do SQL cadastrado no RM + * @param {number} coligadaNumber + * @param {string} systemCode + * @param {string} parameters Separe-os com ; e mantenha a sequência que o SQL pede. Ex: CODCOLIGADA=1;CODPROJ=00689 */ - declare function get(name: string): object -}; + realizarConsultaSQL(sql:string, coligadaNumber:number, systemCode:string, parameters:string): string; +} + +declare namespace com.fluig.sdk.filter { + declare class FilterFieldVO {} + declare class FilterGroupResultVO {} + declare class FilterGroupVO {} + declare class FilterOrderVO {} + declare class FilterResultVO {} + declare class FilterVO {} +} + +declare namespace com.fluig.sdk.identity { + declare class UserAuthTokenSessionVO {} +} +declare namespace com.fluig.sdk.page { + declare class PageMobileApiVO {} + declare class PageWidgetMobileApiVO {} + declare class PublicApiPageVO {} +} /** - * Envia mensagens ao Log do ECM Server + * Serviços do Fluig */ -declare namespace log { +declare namespace com.fluig.sdk.service { /** - * Log com "criticidade" INFO + * Fornece acesso aos serviços de notificações */ - declare function info(message: string): void; + declare class AlertService { + /** + * Método que conta os alertas não lidos de um usuário. + */ + countUnreadAlerts(receiverId: number): number; - /** - * Log com "criticidade" WARNING - */ - declare function warn(message: string): void; + /** + * Método que conta os alertas de um modulo não lidos de um usuário + */ + countUnreadAlertsByModule(module: string, receiverId: number): number; - /** - * Log com "criticidade" ERROR - */ - declare function error(message: string): void; + /** + * Get the number of notification in the tenant + */ + getTenantTotalOfNotification(): number; - /** - * Log com "criticidade" FATAL - */ - declare function fatal(message: string): void; -}; + /** + * Busca os alertas com ação vinculada, do usuário logado ordenado pela data de criação. + */ + listAlertsWithAction(limit: number, offset: number): java.util.List + /** + * Busca os alertas com nota, do usuário logado ordenado pela data de criação. + */ + listAlertsWithNote(limit: number, offset: number): java.util.List -/** - * Funções para o envio de e-mail - */ -declare namespace notifier { + /** + * Retorna todas as notificações do usuário logado ordenadas pela data de criação. + */ + listAllAlerts(limit: number, offset: number): java.util.List - /** - * Envia um e-mail personalizado - * - * Usar em eventos do Processo. - * - * @example - * var parameters = new java.util.HashMap(); - * parameters.put("subject", "Assunto"); - * parameters.put("NAME", "João"); - * parameters.put("CODE", "01"); - * - * var users = new java.util.ArrayList(); - * users.add("adm"); - * - * notifier.notify("adm", "mail1", parameters, users, "text/html"); - * - * @param fromId Matrícula do usuário que está enviando o e-mail - * @param templateId Código do template de e-mail - * @param parameters java.util.HashMap com os parâmetros do e-mail - * @param to java.util.ArrayList com os destinatários do e-mail - * @param mimeType Tipo do conteúdo do e-mail. Pode ser text/html ou text/plain - * - */ - declare function notify(fromId: string, templateId: string, parameters: java.util.HashMap, to: java.util.ArrayList, mimeType: string): void; -}; + /** + * Retorna todas as notificações de um usuário por um único módulo + */ + listAllAlertsByModule(module: string, limit: number, offset: number): java.util.List + /** + * Método marca os alertas informados de um usuário também dado como lidos + */ + markAlertAsRead(loginReceiver: string, alertsId: java.util.List): void; -/** - * Funções para o uso dos serviços (Progress) - * - * Usar em qualquer evento. - */ -declare namespace ServiceManager { + /** + * Método marca todos os alertas de um usuário como lidos. + */ + markAllAlertsAsRead(loginReceiver: string): void; - /** - * Obtém o serviço especificado - * - * Normalmente utilizado para pegar o serviceHelper do serviço. - * - * @example - * var service = ServiceManager.getService("ems2_v10"); - * var serviceHelper = service.getBean(); - */ - declare function getService(serviceId: string): object; -}; + /** + * Método que remove os alertas informados de um usuário também dado, esse método também é responsável por remover os senders, places e objects relacionado aos alertas + */ + removeAlerts(loginSender: string, alertsId: java.util.List): void; -/** - * Pega o valor das propriedades do Processo. - * - * Usar em eventos do processo e eventos de formulários de processo. - * @see https://tdn.totvs.com/pages/releaseview.action?pageId=270919174 - * - * Propriedades: - * - WKDef: Código do processo - * - WKVersDef: Versão do processo - * - WKNumProces: Número do processo - * - WKNumState: Número da atividade - * - WKCompany: Número da Empresa - * - WKUser: Usuário Corrente - * - WKUserComment: Texto com as observações feitas pelos usuários na atividade corrente - * - WKCompletTask: Indica se a tarefa foi completada ("true" / "false") - * - WKNextState: Número da próxima atividade (destino) - * - WKCardId: Código do registro de formulário do processo - * - WKFormId: Código do formulário do processo - * - WKIdentityCompany: Identificador da empresa selecionada para Experiências de uso TOTVS - * - WKMobile: Identifica se a ação foi realizada através de um dispositivo mobile - * - WKIsService: Identifica se a solicitação de cancelamento foi realizada através de um serviço. Esta variável só pode ser consultada nos eventos beforeCancelProcess e afterCancelProcess - * - WKUserLocale: Identifica o idioma corrente do usuário - * - WKManagerMode: Identifica se o processo está sendo movimentado pela visão do gestor do processo ou não. Só funciona no Workflow - * - WKReplacement: Código do usuário substituto - * - WKIsTransfer: Permite verificar se o usuário está ou não transferindo uma tarefa - * - - */ -declare function getValue(nomePropriedade: string): string; + /** + * Salva a configuração de um usuário para receber ou não alertas de um dado evento através de um dado aplicativo. + */ + saveConfiguration(alertConfig: com.fluig.sdk.api.alert.AlertConfigVO): void; -/** - * Disponibiliza diversas funções para manipulação do formulário - * - * Usar em eventos do formulário (que recebem form como parâmetro). - */ -declare class FormController { + /** + * Método que deve ser invocado por todos os módulos do sistema para enviar alertas. + */ + sendNotification(eventKey: string, loginSender: string, loginReceiver: string, object: com.fluig.sdk.api.alert.AlertVO, place: com.fluig.sdk.api.alert.AlertVO, actions: java.util.List, metadata: java.util.HashMap): void; + } - /** - * Retorna o ID da empresa - */ - getCompanyId(): number; + declare class ArticleService {} /** - * Retorna o ID do documento (registro de formulário) + * Cliente para requisições externas usando autenticação do Fluig */ - getDocumentId(): number; - + declare class AuthorizeClientSdkService { + /** + * Executa a chamada ao WS + * + * O parâmetro passado deve ser um objeto convertido em string (JSON.stringfy) com as seguintes propriedades: + * + * - companyId; + * - serviceCode: ID do serviço cadastrado no Fluig; + * - endpoint; + * - method: Método HTTP (GET, POST, PUT, DELETE); + * - timeoutService (em segundos); + * - params: Objeto com os valores a serem enviados na requisição; + * - headers: Objeto com os valores a serem enviados no cabeçalho; + * - options: Objeto com as propriedades da requisição: + * - encoding (padrão UTF-8) + * - mediaType (padrão application/json) + * - useSSL (padrão false) + * + * @tutorial https://tdn.totvs.com/pages/releaseview.action?pageId=239041233#Autoriza%C3%A7%C3%A3oparaclientdeServi%C3%A7osREST-Consumindooservi%C3%A7ocomautentica%C3%A7%C3%A3oOAuth1,OAuth2,BasicAuthentication,CustomAuthenticationeNoneAuthentication + */ + invoke(data: string): com.fluig.sdk.api.authorizeclient.AuthorizeClientSdkServiceVO; + } + declare class CardIndexService {} + declare class CardService {} + declare class CollaborationSDKService {} + declare class CommentService {} + declare class CommunityService {} + declare class ContentFilesService {} /** - * Retorna a versão do documento (registro do formulário) + * Fornece acesso aos serviços de documentos (GED) */ - getVersion(): number; + declare class DocumentService { + /** + * Aprova ou reprova um documento. + */ + approveDocument(documentId: number, version: number, approved: boolean, observation: string): void; - /** - * Retorna o ID do formulário - */ - getCardIndex(): number + /** + * Copia o documento que esta na área de upload + */ + copyDocumentToUploadArea(documentId: number): string[]; - /** - * Habilita/Desabilita a edição de um campo do formulário - */ - setEnabled(nomeCampo: string, habilita: boolean, protegido: boolean): void; + /** + * Cria o documento com permissões e aprovadores + */ + createDocument(documentVO: com.fluig.sdk.api.document.DocumentVO): com.fluig.sdk.api.document.DocumentVO; - /** - * Verifica se o campo do formulário está habilitado para edição - */ - getEnabled(nomeCampo: string): boolean; + /** + * Cria uma documento privado + */ + createPrivateDocument(companyId: number, userId: string, fileName: string, file: File): com.fluig.sdk.api.document.DocumentVO; - /** - * Atribui valor a um campo do formulário - */ - setValue(nomeCampo: string, valor: string): string; + /** + * Cria uma documento privado + */ + createPrivateDocument(companyId: number, userId: string, fileName: string, filePath: string): com.fluig.sdk.api.document.DocumentVO; - /** - * Pega o valor de um campo do formulário - */ - getValue(nomeCampo: string): string; + /** + * Remove o documento + */ + deleteDocument(documentId: number): void; - /** - * Deixa o campo invisível buscando pelo nome do campo - */ - setVisible(nomeCampo: string, visible: boolean): void; + /** + * Retorna o documento ativo passado o ID do mesmo. + */ + getActive(documentId: number): com.fluig.sdk.api.document.DocumentVO - /** - * Deixa o campo invisível buscando pelo ID do campo - */ - setVisibleById(idDoCampo: string, visible: boolean): void; + /** + * Retorna documento com as informações de checkout + */ + getAllocatedDocument(documentId: number, version: number): com.fluig.sdk.api.document.AllocatedDocumentVO; - /** - * Se habilitado os campos são exibidos como input readonly - */ - setShowDisabledFields(habilita: boolean): void; + getCurrentUserPermission(documentId: number): com.fluig.sdk.api.document.SolvedPermissionVO; - /** - * Se habilitado o link "imprimir" é ocultado - */ - setHidePrintLink(habilita: boolean): void; + /** + * Return the approvement history of the document + */ + getDocumentApprovalHistory(documentId: number): java.util.List; - /** - * Se habilitado o botão "excluir" é ocultado - */ - setHideDeleteButton(habilita: boolean): void; + /** + * Retrieve all document approvers and yours status. + */ + getDocumentApprovers(documentId: number): java.util.List; - /** - * Se definido como true todos os campos desabilitados não terão seus valores salvos - */ - setEnhancedSecurityHiddenInputs(proteger: boolean): void; + /** + * Retorna as permissões do documento + */ + getDocumentPermissions(documentId: number, version: number): java.util.List; - /** - * Retorna o Modo do formulário. - * - * Tipos possíveis: - * - ADD: Criação - * - MOD: Edição - * - VIEW: Visualização - * - NONE: Não há comunicação com formulário. Ocorre no momento da validação dos campos, por exemplo. - */ - getFormMode(): string; + /** + * Retorna a url do documento + */ + getDownloadURL(documentId: number): string; - /** - * Desabilita o botão de imprimir - */ - setHidePrintLink(hide: boolean): void; + /** + * Retorna a permissão do usuário em um documento. + */ + getUserPermissions(documentId: number, version: number, user: string): number; - /** - * Retorna se o botão de imprimir está oculto - */ - isHidePrintLink(): boolean; + /** + * Set Approvers for a specific document + */ + setDocumentApprovers(documentId: number, documentSecurityVO: com.fluig.sdk.api.document.DocumentSecurityVO): void; - /** - * Retorna os campos filhos, e seus valores, de uma tabela pai. - * - * Retorna um objeto com a propriedade sendo o nome do campo e seus valores. - */ - getChildrenFromTable(tableName: string): object; + /** + * Determina as permissões do documento + */ + setDocumentPermissions(documentId: number, permissions: java.util.List): void; - /** - * Retorna os índices dos campos filhos de uma tabela pai. - * - * @see https://tdn.totvs.com/pages/releaseview.action?pageId=270924158#EventosdeFormul%C3%A1rio-getChildrenIndexes - */ - getChildrenIndexes(tableName: string): number[]; + /** + * Update file + */ + updateFile(docVO: com.fluig.sdk.api.document.DocumentVO): com.fluig.sdk.api.document.DocumentVO; - /** - * Oculta o botão de apagar registro - */ - setHideDeleteButton(hide: boolean): void; + /** + * Valida configurações de documento + */ + validateDocumentPublicUrlConfiguration(tenantId: number, documentId: number, version: number): void; + } + declare class DocumentationProxyServiceService {} + declare class FavoritesService {} + declare class FilterAPIService {} /** - * Informa se o botão de apagar está oculto + * Fornece acesso aos serviços de pastas (GED) */ - isHideDeleteButton(): boolean; + declare class FolderDocumentService { + /** + * Criação de uma nova pasta + */ + create(vo: com.fluig.sdk.api.document.FolderVO): com.fluig.sdk.api.document.FolderVO; - /** - * Indica se está em mobile - */ - getMobile(): boolean; + /** + * Recupera um documento através do id + */ + get(documentId: number): com.fluig.sdk.api.document.DocumentVO; - /** - * Indica se o campo está visível buscando pelo nome do campo - */ - isVisible(nomeCampo: string): boolean; + /** + * Recupera lista de documentos através do id da pasta + */ + list(folderId: number): java.util.List; - /** - * Indica se o campo está visível buscando pelo ID do campo - */ - isVisibleById(id: string): boolean; -}; + /** + * Recupera lista de documentos através do id da pasta + */ + list(folderId: number, permission: number): java.util.List; -/** - * Disponibiliza funções para incluir conteúdo HTML no formulário - */ -declare class customHTML { + /** + * Retorna os documentos de uma pasta + */ + listDocumentsByFolder(folderVO: com.fluig.sdk.api.document.FolderVO, limit: number, offset: number): java.util.List; - /** - * Adiciona conteúdo no final do HTML do formulário - * @param html Conteúdo HTML a ser incluído - */ - append(html: string): void; -}; + /** + * Atualiza documento ou pasta + */ + updateDocumentDescription(companyId: number, documentId: number, description: string): com.fluig.sdk.api.document.DocumentVO; + } + declare class GlobalParameterService {} + declare class GroupService {} + declare class HolidayAPIService {} + declare class I18NService {} + declare class IdentityService {} + declare class JobService {} + declare class LocalAPIService {} -/** - * Indica a Data e Hora de um prazo - */ -interface DeadLineDate { /** - * Data no formato dd/mm/yyyy + * Serviço para tratar páginas */ - 0: string; + declare class PageService { + createPageDraftFromVersion(pageCode: string, pageVersion: number): void; + disable(pageCode: string): void; + enable(pageCode: string): void; - /** - * Quantidade de segundos, a partir de 00:00:00, para alcançar determinada hora - */ - 1: number; -} + /** + * Retorna itens de menu da página + */ + findMenuFromPage(pageCode: string): java.util.List; -interface Task { - name: string; + /** + * Consulta páginas do fluig + */ + findPages(parentPageCode: string, isMobile: boolean, filter: string, start: number, size: number, searchLevel: number, internalPages: boolean): java.util.List; + findPages(parentPageCode: string, isMobile: boolean, filter: string, start: number, size: number, searchLevel: number, internalPages: boolean, codePage: string): java.util.List; - /** - * ID do usuário responsável - */ - responsible: string; + /** + * Retorna a URL do servidor + */ + getServerURL(): string; - /** - * Data no formato dd/mm/yyyy - */ - dueDate: string; -} + /** + * Recupera os valores de preferências para uma instância de uma widget. + */ + getWidgetPreferences(instanceId: number): java.util.HashMap; -/** - * Disponibiliza diversas funções para manipulação do processo - * - * Usar nos eventos do Processo. - */ -declare namespace hAPI { - /** - * Pega o valor de um campo do formulário - */ - declare function getCardValue(nomeCampo: string): string; + mobileMapping(pageCode: string): com.fluig.sdk.page.PageMobileApiVO; - /** - * Atribui valor a um campo do formulário - */ - declare function setCardValue(nomeCampo: string, valor: string): string; + hide(pageCode: string): void; - /** - * Adiciona um filho no formulário pai e filho do processo - * - * @param tableName Nome da tabela pai-filho - * @param cardData Mapa com os campos e valores - */ - declare function addCardChild(tableName: string, cardData: java.util.HashMap): void; + publishPageDraft(pageCode: string, publicationDescription: string): void; - /** - * Encaminha o processo para uma determinada atividade - * - * Deve ser usado para tomar decisões em atividades automáticas de listener (AutomaticTasks). - * - * @example - * var colaboradores = new java.util.ArrayList(); - * colaboradores.add("adm"); - * hAPI.setAutomaticDecision(2, colaboradores, "Decisão Automática"); - */ - declare function setAutomaticDecision(taskNumber: number, responsible: java.util.ArrayList, comment: string): void; + pageHistory(pageCode: string): java.util.List; - /** - * Pega todas as threads em execução de um processo - * - * @example - * var threads = hAPI.getActiveStates(); - * log.info(threads.get(0)); - */ - declare function getActiveStates(): java.util.ArrayList; + /** + * Recarrega o layout de uma página + */ + reloadPageLayout(pageCode: string): void; - /** - * Pega o ID do processo Pai (caso de subprocesso) - * - * @param processInstanceId ID do processo - */ - declare function getParentInstance(processInstanceId: number): number; + /** + * Seta o valor de uma preferência para uma instância de uma widget + */ + setWidgetPreference(instanceId: number, key: string, value: string): void; + + show(pageCode: string): void; + } - /** - * Pega uma lista dos processos que são filhos do processo indicado (subprocessos) - * - * @param processInstanceId ID do processo - */ - declare function getChildrenInstances(processInstanceId: number): java.util.List; + declare class PageWidgetService {} + declare class PostService {} + declare class SearchService {} - /** - * Altera o prazo de uma atividade do processo - * - * @example - * var processo = new java.lang.Integer(getValue("WKNumProces")); - * var data = new java.text.SimpleDateFormat("dd/MM/yyyy").parse("10/10/2010"); - * hAPI.setDueDate(processo, 0, "adm", data, 0); - * // Define o prazo para Hoje ao meio dia - * hAPI.setDueDate(1, 0, "adm", new java.util.Date(), 12 * 60 * 60); - * - * @param processId ID do Processo - * @param numThread ID da Thread (geralmente 0). Usado para processos que possuem FORK - * @param userId ID do responsável pela atividade - * @param dueDate Data do prazo de encerramento - * @param tempoSegundos Quantidade de segundos, a partir de 00:00:00, para alcançar determinada hora - */ - declare function setDueDate(processId: number, numThread: number, userId: string, dueDate: Date, timeInSeconds: number): void; + declare class SecurityService { + /** + * Verifica se o usuário logado possui determinada permissão no recurso informado + */ + hasPermission(resource: string, permission: string): boolean; - /** - * Transfere o processo atual para outro(s) colaborador(es). - * Usar em eventos do Processo. - * - * @example - * var colaboradores = new java.util.ArrayList(); - * colaboradores.add("adm"); - * hAPI.transferTask(colaboradores, "Tarefa Transferida", 0); - * - * @param users IDs dos usuários - * @param comment - * @param numThread ID da Thread. Normalmente 0 - */ - declare function transferTask(users: java.util.ArrayList, comment: string, numThread?: number = 0): void; + /** + * Lista os recursos da categoria + */ + listResourcesByCategory(category: string, filter: string, offset: number, limit: number): java.util.List - /** - * Define uma observação para a atividade atual do processo. - * Usar em eventos do Processo. - * - * @param userId Matrícula do Colaborador - * @param processId ID do Processo - * @param threadId ID da Thread (geralmente 0). Usado para processos que possuem FORK. - * @param comment Comentário do processo para a atividade corrente - */ - declare function setTaskComments(userId: string, processId: number, threadId: number, comment: string): void; + /** + * Lista as permissões do recurso informado + */ + getPermissionsByResourceCode(resourceCode: string): java.util.List - /** - * Retorna o valor de uma propriedade avançada do Processo. - * Usar em eventos do Processo. - */ - declare function getAdvancedProperty(nomePropriedade: string): string; + /** + * Crias as permissões para o recurso + */ + createPermissions(resourceCode: string, permissions: java.util.List): void; + /** + * Remove as permissões do recurso + */ + deletePermissions(resourceCode: string, permissions: java.util.List): void; + } - /** - * Retorna o HashMap com os valores do formulário do processo. - * Usar em eventos do Processo. - * - * Para um formulário Pai e Filho os campos são identificados da seguinte forma: - * campo1___1, sendo campo1 o nome atribuído ao campo através da tag do campo HTML - * +___(3 underlines) + número sequencial do registro. - * - * @example - * var card = declare function getCardData(getValue("WKNumProces")); - * log.info(card.get("campo1")); - */ - declare function getCardData(numProcesso: number): java.util.HashMap; + declare class SocialBreadcrumbService {} + declare class SocialSDKService {} + declare class TagsCloudService {} + declare class TasksService {} + declare class TenantService {} /** - * Inicia uma nova instância de um processo. - * Usar em eventos do Processo. - * - * @example - * var colaboradores = new java.util.ArrayList(); - * colaboradores.add("adm"); - * var formData = new java.util.HashMap(); - * formData.put("nome_do_campo_1", "valor_do_campo_1"); - * var resposta = startProcess("Processo", 0, colaboradores, "Iniciado automaticamente", false, formData, false); - * var numProcessoCriado = resposta.get("iProcess"); - * - * @param processId Código do processo cadastrado no Fluig. - * @param taskNumber Número da atividade de inicio do processo. Pode ser informado 0. - * @param users Matrícula dos usuários que receberão a atividade. - * @param comment Comentário para a atividade do processo. - * @param taskFinished indica se a tarefa sera finalizada apás a criação do processo. - * @param form HashMap representando propriedade/valor dos campos do formulário do processo. - * @param managerMode indica se a tarefa sera inicializada com o modo gestor do Fluig ativo. - * @returns HashMap com informações referentes ao processo criado + * Fornece acesso aos serviços de usuário */ - declare function startProcess(processId: string, taskNumber: number, users: java.util.ArrayList, comment?: string, taskFinished?: boolean, form?: java.util.HashMap, managerMode?: boolean): java.util.HashMap; + declare class UserService { - /** - * Calcula um prazo - * - * Cálculo feito a partir de uma data, com base no expediente e feriados cadastrados no produto, - * passando o prazo em horas. - * - * Importante: a Data retornada é formatada no padrão dd/mm/yyyy - * - * @example - * var data = new Date(); - * var deadlineDate = hAPI.calculateDeadLineHours(data, 50000, 2, "Default"); - * var processo = getValue("WKNumProces"); - * hAPI.setDueDate(processo, 0, 'adm', deadlineDate[0], deadlineDate[1]); - */ - declare function calculateDeadLineHours(deadlineDate: Date, seconds: number, deadlineInHours: number, periodId: string): DeadLineDate; + /** + * Adiciona um usuário a um grupo + */ + addUserToGroup(tenantId: number, groupCode: string, userVO: com.fluig.sdk.user.UserVO): void; - /** - * Calcula um prazo - * - * Cálculo feito a partir de uma data, com base no expediente e feriados cadastrados no produto, - * passando o prazo em segundos. - * - * Importante: a Data retornada é formatada no padrão dd/mm/yyyy - * - * @example - * var data = new Date(); - * var deadlineDate = hAPI.calculateDeadLineHours(data, 50000, 2, "Default"); - * var processo = getValue("WKNumProces"); - * hAPI.setDueDate(processo, 0, 'adm', deadlineDate[0], deadlineDate[1]); - */ - declare function calculateDeadLineTime(deadlineDate: Date, seconds: number, deadlineInHours: number, periodId: string): DeadLineDate; + /** + * Change the user password + */ + changeUserPassword(vo: com.fluig.sdk.user.UserPasswordVO): void; - /** - * Atribui um usuário substituto para a atividade atual do processo. - * - * Usar em eventos do Processo. - */ - declare function setColleagueReplacement(responsible: string): void; + /** + * Cria um novo usuário + */ + create(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + create(tenantId: number, vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; - /** - * Retorna o link para movimentação da solicitação. - * - * Usar em eventos do Processo. - */ - declare function getUserTaskLink(numAtividade: number): string; + /** + * Retorna o usuário pelo id + */ + findById(id: number): com.fluig.sdk.user.UserVO - /** - * Pega o ID da Thread atual - */ - declare function getActualThread(companyNumber, processNumber, activityNumber): number; + /** + * Retorna o usuário pelo login + */ + findByLogin(login: string): com.fluig.sdk.user.UserVO - /** - * Permite a criação de atividades adhoc dentro dos eventos do Fluig - * - * @param processoId Número da Solicitação - * @param sequenceId Código processstate da atividade que tem o processo ad-hoc - * @param assunto Assunto - * @param detalhamento Detalhamento - * @param tarefas Lista de tarefas - */ - declare function createAdHocTasks(processoId: number, sequenciaId: number, assunto: string, detalhamento: string, tarefas: Task[]): void; + /** + * Retorna usuário pelo ID + */ + findByUserCode(colleagueId: string): com.fluig.sdk.user.UserVO - /** - * Retorna a lista de anexos do processo - * - * Somente anexos do tipo GED e Workflow são retornados. - */ - declare function listAttachments(): java.util.List; + /** + * Retorna o usuário corrente logado + */ + getCurrent(): com.fluig.sdk.user.UserVO - /** - * Permite publicar anexo workflow da solicitação no GED - * - * É obrigatório informar a pasta destino através do método setParentDocumentId - */ - declare function publishWorkflowAttachment(documentDto: DocumentDto): void; + /** + * Pesquisa por usuários baseado em um conjunto de parâmetros. + */ + list(offset: number, limit: number): java.util.List; + list(params: java.util.HashMap, offset: number, limit: number): java.util.List; + list(sortField: string, sortType: string, limit: number, offset: number, search: string): java.util.List; - /** - * Permite anexar documentos do GED à solicitação workflow - * - * @throws {Error} - */ - declare function attachDocument(documentId: number): void; + /** + * Pesquisa por usuários ativos e inativos baseado em um conjunto de parâmetros. + */ + listAll(sortField: string, sortType: string, limit: number, offset: number, search: string): java.util.List; - /** - * Retorna os campos filhos, e seus valores, de uma tabela pai. - * - * Retorna um objeto com a propriedade sendo o nome do campo e seus valores. - */ - declare function getChildrenFromTable(tableName: string): object; + /** + * Pega todos os dados do usuário especificado pelo login + */ + listData(login: string): java.util.HashMap; - /** - * Retorna os índices dos campos filhos de uma tabela pai. - * - * @see https://tdn.totvs.com/display/public/fluig/Eventos+de+Processos#EventosdeProcessos-EventosdeFormul%C3%A1rioPaiFilho - */ - declare function getChildrenIndexes(tableName: string): number[]; + /** + * Pega todos os grupos do usuário especificado pelo login + */ + listGroups(login: string): java.util.List; + + /** + * Pega todos os papéis do usuário especificado pelo login + */ + listRoles(login: string): java.util.List; + + /** + * Remove dados do usuário + */ + removeUserData(alias: string, key: string): void; - /** - * - */ - declare function getAvailableStatesDetail(companyId: number, userId: string, processId: number, processInstanceId: number, threadSequenceId: number = 0); -}; + /** + * Atualiza o usuário + */ + updateUser(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; -/** - * Constantes globais para usar no HTML de Processo / Formulário. - * - * O arquivo vcXMLRPC.js precisa ser declarado: - */ -declare namespace Global { - /** - * Último ID de um Filho (Cadastro Pai/Filho) - * - * Disponível quando o formulário possui um Pai/Filho padrão. - */ - const newId: number; + /** + * Atualiza os dados do usuário logado + */ + updateUserData(data: java.util.HashMap): boolean; - /** - * Versão do Workflow. - * - * Só é preenchida em Processo - */ - const WKVersDef: string; + /** + * Atualiza os dados do usuário procurando pelo ID + */ + updateUserDataById(data: java.util.HashMap, userId: string): boolean; + + /** + * Atualiza usuário mesmo que esteja desabilitado (inativo) + */ + updateUserEvenDisabled(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + } + declare class WidgetService {} /** - * ID da atividade atual do Workflow - * - * Só é preenchida em Processo + * Fornece acesso aos serviços de workflow */ - const WKNumState: string; -} + declare class WorkflowAPIService { + /** + * Faz com que o usuário repassado assuma a tarefa + */ + assumeProcessTask(assumeProcessTaskVO: com.fluig.sdk.api.workflow.AssumeProcessTaskVO): com.fluig.sdk.api.workflow.AssumeProcessTaskResultVO; + assumeProcessTask(companyId: number, userId: string, processInstanceId: number, movementSequence: number, replacementId: string): com.fluig.sdk.api.workflow.ProcessTaskVO; -/** - * Adiciona um Filho ao Pai - * - * @param {String} tableName Nome da tabela - * @returns {Number} Id do filho criado -*/ -declare function wdkAddChild(tableName: string): number; + /** + * Faz com que os usuários repassados assumam as tarefas vinculadas aos mesmos + */ + assumeProcessTasks(assumeProcessTasksVO: com.fluig.sdk.api.workflow.AssumeProcessTasksVO): com.fluig.sdk.api.workflow.AssumeProcessTaskResultVO; -/** - * Pega os dados de um determinado Dataset ou Formulário - * - * Usar no HTML de qualquer formulário. - * - * @example - * let filtro = {'colleaguePK.colleagueId': 'adm'}; - * let colaboradores = getDatasetValues('colleague', filtro); - * console.log(colaboradores[0].colleagueName); - */ -declare function getDatasetValues(dataset: string, filtro: object[]): object[]; + cancelInstance(cancelInstanceVO: com.fluig.sdk.api.workflow.CancelInstanceVO): com.fluig.sdk.api.workflow.CancelInstanceResultVO; + cancelInstances(cancelInstanceVO: com.fluig.sdk.api.workflow.CancelInstancesVO): com.fluig.sdk.api.workflow.CancelInstancesResultVO; -/** - * Tipos de campo de um Dataset - * - * Usado na criação do Dataset, na função defineStructure. - */ -enum DatasetFieldType { - NUMBER, - STRING, - TEXT, - DATE, - BOOLEAN, -} + /** + * Insere um complemento em uma solicitação + */ + createProcessObservation(processObservationVO: com.fluig.sdk.api.workflow.ProcessObservationVO): com.fluig.sdk.api.workflow.ProcessObservationVO; -/** - * Cria uma coluna no dataset sincronizado - */ -declare function addColumn(coluna: string, tipo?: DatasetFieldType); + findAssignedToMeTasks(processId: string, initialStartDate: string, finalStartDate: string, requester: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; - /** - * Cria a chave principal do dataset sincronizado - * - * Para uso dos métodos updateRecord, deleteRecord e addOrUpdate do dataset sincronizado. - */ -declare function setKey(chaves: string[]): void; + findManagedByMeTasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, requester: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; - /** - * Cria um ou mais índices para maior performance na consulta do dataset sincronizado - */ -declare function addIndex(indices: string[]): void; + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como requisitante + */ + findMyRequestsSLA(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, assignee: string, manager: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; -/** - * Tipos de Filtros (constraint) - * - * Usado para criar os filtros que serão repassados ao método getDataset. - * Usar nos eventos do Fluig ou na criação de Dataset customizado. - */ -enum ConstraintType { - /** - * Filtro: Deve Conter - * - * Interprete como o E lógico - */ - MUST, + findMyRequestsTasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; - /** - * Filtro: Pode Conter - * - * Interprete como OU lógico - */ - SHOULD, + /** + * Retorna a lista de complementos em uma solicitação + */ + findObservations(processInstanceId: number, stateSequence: number, threadSequence: number): java.util.List; - /** - * Filtro: Não Deve Conter - */ - MUST_NOT, -} + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável + */ + findRequestSLAByProcessInstanceId(processInstanceId: number, populateCurrentTasks: boolean, calculate: boolean, populateCardFields: boolean, populateLocals: boolean, assigneeLocals: boolean): com.fluig.sdk.api.workflow.RequestSLAVO; + findRequestSLAByProcessInstanceId(processInstanceId: string, expand: string, calculate: string): com.fluig.sdk.api.workflow.RequestSLAVO; -/** - * Tipos de Documento - * - * Esse enum não existe no Fluig e foi criado somente para - * facilitar a identificação dos tipos de documento. - * - * No Fluig utilize somente os valores ao fazer as comparações. - */ -enum DocumentTypeEnum { - PASTA_RAIZ = '0', - PASTA = '1', - DOCUMENTO_NORMAL = '2', - DOCUMENTO_EXTERNO = '3', - FORMULARIO = '4', - FICHA = '5', - ANEXO_WORKFLOW = '7', - NOVO_CONTEUDO = '8', - APLICATIVO = '9', - RELATORIO = '10', - PASTA_SOCIAL = '15', - SITE = 'portal', - PAGINA_DE_SITE = 'portalPage', -} + /** + * Recupera uma lista das solicitações de SLA dos processos configurados + */ + findRequestsSLA(): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, statusRequiredList: java.util.List): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, statusRequiredList: java.util.List, returnCurrentTasks: boolean): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, statusRequiredList: java.util.List, returnCurrentTasks: boolean): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, statusRequiredList: java.util.List, initialStartDate: Date, finalStartDate: Date, initialDeadlineDate: Date, finalDeadlineDate: Date, initialWarningDate: Date, finalWarningDate: Date, returnCurrentTasks: boolean, requester: string, assignee: string, manager: string, requesterLocals: java.util.List, assigneeLocals: java.util.List, orderParams: java.util.List, calculate: boolean, page: number, pageSize: number, populateCardFields: boolean, populateLocalsValue: boolean, populateAssigneeLocalsValue: boolean): java.util.LinkedHashSet; + findRequestsSLA(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, assignee: string, manager: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; -declare class Dataset { - const rowsCount: number; + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável + */ + findRequestsSLAAssignedToMe(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, manager: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; - /** - * Retorna o valor de uma coluna (campo) em determinada linha (índice) - */ - getValue(linha: number, coluna: string): string; + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como gestor + */ + findRequestsSLAManagedByMe(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, assignee: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; - /** - * Cria uma coluna no Dataset - * - * @example - * var dataset = DatasetBuilder().newDataset(); - * dataset.addColumn("coluna1"); - * dataset.addColumn("coluna2"); - * dataset.addRow(["valor coluna 1", "valor coluna 2"]); - */ - addColumn(coluna: string): void; + findSLATasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, requester: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; - /** - * Adicionar uma linha ao Dataset - * - * @example - * var dataset = DatasetBuilder().newDataset(); - * dataset.addColumn("coluna1"); - * dataset.addColumn("coluna2"); - * dataset.addRow(["valor coluna 1", "valor coluna 2"]); - */ - addRow(valores: string[]|object[]): void; + /** + * Retorna uma lista das atividades pendentes de um processo + */ + getActiveTasks(processInstanceId: number): com.fluig.sdk.api.workflow.ProcessInstanceInfoVO; - /** - * Adiciona uma linha à coleção que será persistida no cache de sincronização. - * - * Através dos campos da chave principal do Dataset (setKey) os registros - * serão localizados e alterados conforme os dados enviados pela função. - * - * Esta função só funciona se implementado na função onSync. - * - * @example - * var dataset = DatasetBuilder.newDataset(); - * dataset.addColumn("Coluna1"); - * dataset.addColumn("Coluna2"); - * dataset.updateRow(["Valor coluna 1", "Valor coluna 2"]); - */ - updateRow(valores: string[]|object[]): void; + /** + * Retorna uma lista de processos disponíveis para o usuário + */ + getAvailableProcess(tenantId: number, userId: string): java.util.List; - /** - * Adiciona uma linha à coleção que será persistida no cache de sincronização. - * - * Caso o registro não exista ele será criado na base, caso contrário será atualizado. - * - * Através dos campos da chave principal do Dataset (setKey) os registros - * serão localizados e alterados conforme os dados enviados pela função. - * - * Esta função só funciona se implementado na função onSync. - * - * @example - * var dataset = DatasetBuilder.newDataset(); - * dataset.addColumn("Coluna1"); - * dataset.addColumn("Coluna2"); - * dataset.addOrUpdateRow(["Valor coluna 1", "Valor coluna 2"]); - */ - addOrUpdateRow(valores: string[]|object[]): void; + /** + * Retorna a versão de um processo + */ + getProcessVersion(processId: string): number; - /** - * Adiciona uma linha à coleção que eliminará esses registros no cache de sincronização. - * - * Através dos campos da chave principal do Dataset (setKey) os registros - * serão localizados e alterados conforme os dados enviados pela função. - * - * Esta função só funciona se implementado na função onSync. - * - * @example - * var dataset = DatasetBuilder.newDataset(); - * dataset.addColumn("Coluna1"); - * dataset.addColumn("Coluna2"); - * dataset.deleteRow(["Valor coluna 1", "Valor coluna 2"]); - */ - deleteRow(valores: string[]|object[]): void; -} + /** + * Retorna todos os processos da empresa + */ + listProcess(pattern: string, limit: number, offset: number): java.util.List; -/** - * Resultado de uma consulta ao Dataset usando o WCM - * - * Disponível somente nas páginas que usam o arquivo /webdesk/vcXMLRPC.js. - */ -interface DatasetWcmResult { - /** - * O nome das colunas - */ - columns: string[]; + /** + * Retorna todos os processos da empresa + */ + listSlaProcess(): java.util.List; - /** - * As propriedades do objeto são os nomes das colunas - */ - values: object[]; -} + resumeAssignedToMeTasks(processId: string, startDate: string, endDate: string, requester: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + resumeManagedByMeTasks(processId: string, startDate: string, endDate: string, requester: string, assignee: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; -/** - * Indicativo das restrições ao sincronizar dados em Mobile - */ -interface DatasetMobileSync { - /** - * As colunas (em letras maiúsculas) a serem salvas no Mobile - */ - fields: string[]; + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como requisitante + */ + resumeMyRequestsSLA(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, assignee: string, manager: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - /** - * Os filtros adicionais - */ - constraints: Constraint[]; + resumeMyRequestsTasks(processId: string, startDate: string, endDate: string, assignee: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; - /** - * Campos da ordenação - */ - sortFields: string[]; -} + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados + */ + resumeRequestsSLA(): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, countersRequiredList: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, countersRequiredList: java.util.List, initialStartDate: Date, finalStartDate: Date, initialDeadlineDate: Date, finalDeadlineDate: Date, initialWarningDate: Date, finalWarningDate: Date, requester: string, assignee: string, manager: string, requesterLocalsList: java.util.List, assigneeLocalsList: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, assignee: string, manager: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; -/** - * Formato de Callback para consulta assíncrona ao Dataset usando o WCM - * - * Disponível somente nas páginas que usam o arquivo /webdesk/vcXMLRPC.js. - */ -interface DatasetWcmCallback { - /** - * Função que será executada em caso de sucesso - */ - success: function (DatasetWcmResult); + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável + */ + resumeRequestsSLAAssignedToMe(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, manager: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; - /** - * Função que será executada em caso de falha - * - * @param jqXHR Objeto da JQuery - * @param textStatus - * @param errorThrown - */ - error: function (object, string, string): void; + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como gestor + */ + resumeRequestsSLAManagedByMe(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, assignee: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + + resumeSLATasks(processId: string, startDate: string, endDate: string, assignee: string, requester: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + } } -declare class Constraint { - fieldName: string; - initialValue: string; - finalValue: string; - constraintType: ConstraintType; +declare namespace com.fluig.sdk.tenant { + declare class AdminUserVO {} + declare class TenantVO {} +} + +declare namespace com.fluig.sdk.user { + declare class ColleagueVO {} + declare class UserPasswordVO {} /** - * Indica que a constraint fará uma busca usando LIKE ao invés de = + * Representa um Usuário */ - setLikeSearch(likeSearch: boolean): void; + declare class UserVO { + /** + * Pega o e-mail + */ + getEmail(): string - getFieldName(): string; - getInitialValue(): string; - getFinalValue(): string; -} + /** + * Pega o nome completo + */ + getFullName(): string -/** - * Funções para manipulação de Dataset - */ -declare namespace DatasetFactory { - /** - * Retorna o nome dos datasets disponíveis - * - * Para usar no HTML de formulário o arquivo vcXMLRPC.js precisa ser declarado: - */ - declare function getAvailableDatasets(): string[]; + /** + * Pega o primeiro nome + */ + getFirstName(): string; - /** - * Cria uma constraint para ser usada no método getDataset - * - * Para usar no HTML de formulário o arquivo vcXMLRPC.js precisa ser declarado: - * Para fazer uma pesquisa usando LIKE pelo formulário deve-se passar true no parâmetro searchLike ao invés de usar o método - * setLikeSearch do objeto Constraint. - */ - declare function createConstraint(fieldName: string, initialValue: string, finalValue: string, constraintType: ConstraintType): Constraint; - declare function createConstraint(fieldName: string, initialValue: string, finalValue: string, constraintType: ConstraintType, searchLike: boolean): Constraint; + /** + * Pega o sobrenome + */ + getLastName(): string; - /** - * Pesquisa os dados de um dataset - * - * Para usar no HTML de formulário o arquivo vcXMLRPC.js precisa ser declarado: - * - * @param nomeDataset O nome do Dataset. - * @param campos Os campos que serão retornados. - * @param constraints Os filtros aplicados ao dataset. - * @param ordem Os campos que farão a ordenação do resultado. Pode-se acrescentar ;desc ao nome do campo para ordenar de forma decrescente. - * - * @example - * var constraints = [ - * DatasetFactory.createConstraint("colleaguePK.colleagueId", "adm", "adm", ConstraintType.MUST_NOT), - * DatasetFactory.createConstraint("valor", "100", "999", ConstraintType.MUST) - * ]; - * var dataset = DatasetFactory.getDataset("colleague", ["colleagueName"], constraints); - */ - declare function getDataset(nomeDataset: string, campos?: string[], constraints?: Constraint[], ordem?: string[]): Dataset; + /** + * Pega o login + */ + getLogin(): string; - /** - * Pesquisa os dados de um dataset de forma assíncrona - * - * Disponível somente nas páginas que usam o arquivo /webdesk/vcXMLRPC.js. - * - * @example - * var constraints = [ - * DatasetFactory.createConstraint("colleaguePK.colleagueId", "adm", "adm", ConstraintType.MUST_NOT), - * DatasetFactory.createConstraint("valor", "100", "999", ConstraintType.MUST) - * ]; - * var dataset = DatasetFactory.getDataset("colleague", ["colleagueName"], constraints); - */ - declare function getDataset(nomeDataset: string, campos?: string[], constraints?: Constraint[], ordem?: string[], callback: DatasetWcmCallback): void; -} + /** + * Pega o código + */ + getCode(): string -/** - * Funções para criação de Dataset - */ -declare namespace DatasetBuilder { - /** - * Cria um Dataset - * - * Usar somente ao criar datasets customizados. - */ - declare function newDataset(): Dataset; -} + /** + * Pega todos os dados extras + */ + getExtData(): java.util.HashMap; -/** - * Entidade Documento Relacionado - */ -declare class RelatedDocumentDto { + /** + * Pega um dado extra + */ + getExtraData(key: string): object; - /** - * Retorna o número do documento - * - * Usar em eventos do Fluig. - */ - getDocumentId(): number; + /** + * Pega os grupos + */ + getGroups(): java.util.List; - /** - * Retorna o número do documento relacionado - * - * Usar em eventos do Fluig. - */ - getRelatedDocumentId(): number; + /** + * Pega o ID + */ + getId(): number; - /** - * Retorna a versão do documento - * - * Usar em eventos do Fluig. - */ - getVersion(): number; + /** + * Informa se é um usuário Ativo + */ + getIsActive(): boolean; + + /** + * Pega a senha + */ + getPassword(): string; - /** - * Retorna o código da empresa em que o documento foi publicado - * - * Usar em eventos do Fluig. - */ - getCompanyId(): number; -} + /** + * Pega o fuso horário + */ + getTimezone(): string; -/** - * Configuração para uma requisição efetuada pelo método WCMAPI.Create - */ -interface WcmApiRequestSettings { - url?: string; + /** + * Pega os papéis + */ + getRoles(): java.util.List; - /** - * Verbo HTTP utilizado na requisição (padrão é GET) - */ - method?: string; + /** + * Pega o token de acesso + */ + getTokenAccess(): string; - /** - * Tipo do envio. - * - * Pode ser: - * - application/x-www-form-urlencoded (padrão) - * - multipart/form-data (quando quer fazer envio de arquivos) - * - text/plain - */ - contentType?: string; + /** + * Pega a senha do token + */ + getTokenSecret(): string; - /** - * Tipo do resultado esperado da requisição. - * - * O resultado da requisição será convertido para o tipo especificado e então - * enviado ao método success. - * - * Os tipos possíveis são: - * - xml - * - html - * - script - * - json - * - jsonp - * - text - */ - dataType?: string; + /** + * Pega o UUID + */ + getUserUUID(): string; - /** - * Dados para enviar - */ - data?: string|object; + /** + * Retorna objeto no mapa + */ + getValueExtData(key: string): object; - /** - * Função que será executada em caso de sucesso - * - * @param data - * @param textStatus - * @param jqXHR Objeto da JQuery - */ - success?: function (string|object, string, object): void; + /** + * Adiciona dados extras + */ + addExtData(key: string, value: object): void; - /** - * Função que será executada em caso de falha - * - * @param jqXHR Objeto da JQuery - * @param textStatus - * @param errorThrown - */ - error?: function (object, string, string): void; + /** + * Atribui o código + */ + setCode(code: string): void; - /** - * Converter os dados para o padrão application/x-www-form-urlencoded - * - * Por padrão os dados são convertidos para application/x-www-form-urlencoded, - * mas você pode desabilitar essa conversão para poder enviar um DOMDocument - * ou outro tido de dado sem a conversão. - */ - processData?: boolean; -} + /** + * Atribui o e-mail + */ + setEmail(email: string): void; + /** + * Atribui os dados extras + */ + setExtData(extData: java.util.HashMap): void; -/** - * Consultar dados do ambiente da sessão via JS (Client Side) - */ -declare namespace WCMAPI { - /** - * Endereço do servidor (incluindo protocolo e porta) - */ - const serverURL: string; + /** + * Atribui um valor para um dado extra + */ + setExtraData(key: string, value: object): void; - /** - * ID do tenant ao qual o usuário está conectado - */ - const organizationId: string; + /** + * Atribui o primeiro nome + */ + setFirstName(firstName: string): void; - /** - * Indica se usuário está logado - */ - const userIsLogged: boolean; + /** + * Atribui o sobrenome + */ + setLastName(lastName: string): void; - /** - * Nome do usuário logado - */ - const user: string; + /** + * Atribui o nome completo + */ + setFullName(fullName: string): void; - /** - * Login do usuário logado - */ - const userLogin: string; + /** + * Atribui os grupos + */ + setGroups(groups: java.util.List): void; - /** - * Código (matrícula) do usuário logado - */ - const userCode: string; + /** + * Atribui o ID + */ + setId(id: number): void; - /** - * E-mail do usuário logado - */ - const userEmail: string; + /** + * Atribui o status de Ativo + */ + setIsActive(isActive: boolean): void; - /** - * Indica se a sessão está expirada - */ - const sessExpired: boolean; + /** + * Atribui o login + */ + setLogin(login: string): void; - /** - * Versão do fluig - */ - const version: string; + /** + * Atribui a senha + */ + setPassword(password: string): void; - /** - * Código do tenant ao qual o usuário está conectado - */ - const tenantCode: string; + /** + * Atribui os papéis + */ + setRoles(roles: java.util.List): void; - /** - * Raíz da URL do portal da plataforma - */ - const serverContextURL: string; + /** + * Atribui o fuso horário + */ + setTimezone(timezone: string): void; - /** - * Pega o endereço do servidor (incluindo protocolo e porta) - */ - declare function getServerURL(): string; + /** + * Atribui o token de acesso + */ + setTokenAccess(token: string): void; - /** - * Pega o ID do tenant ao qual o usuário está conectado - */ - declare function getOrganizationId(): string; + /** + * Atribui a senha do token + */ + setTokenSecret(tokenSecret: string): void; - /** - * Pega o código do tenant ao qual o usuário está conectado - */ - declare function getTenantCode(): string; + /** + * Atribui o UUID + */ + setUserUUID(userUUID: string): void; + } +} - /** - * Retorna a raíz da URL do portal da plataforma - */ - declare function getServerContextURL(): string; +declare namespace com.fluig.sdk.api.alert { + declare class AlertActionVO {} + declare class AlertConfigVO {} + declare class AlertEventVO {} + declare class AlertModuleVO {} + declare class AlertObjectVO {} + declare class AlertSenderVO {} + declare class AlertUserVO {} + declare class AlertVO { + getActions(): java.util.List; + getCanRemove(): boolean; + getCreationDate(): Date; + getCreationDateTime(): number; + getCurrentDate(): Date; + getEvent(): com.fluig.sdk.api.alert.AlertObjectVO; + getId(): number; + getObject(): com.fluig.sdk.api.alert.AlertObjectVO; + getPlace(): com.fluig.sdk.api.alert.AlertObjectVO; + getPriority(): string; + getRead(): boolean; + getReceiver(): com.fluig.sdk.api.alert.AlertUserVO; + getSenders(): java.util.List; + setActions(actions: java.util.List): void; + setCanRemove(canRemove: boolean): void; + setCreationDate(creationDate: Date): void; + setCreationDateTime(creationDateTime: number): void; + setCurrentDate(currentDate: Date): void; + setEvent(event: com.fluig.sdk.api.alert.AlertEventVO): void; + setId(id: number): void; + setObject(object: com.fluig.sdk.api.alert.AlertObjectVO): void; + setPlace(place: com.fluig.sdk.api.alert.AlertObjectVO): void; + setPriority(priority: string): void; + setRead(read: boolean): void; + setReceiver(receiver: com.fluig.sdk.api.alert.AlertUserVO): void; + setSenders(senders: java.util.List): void; + } +} - /** - * Envia uma requisição ao servidor do Fluig - * - * A requisição é feita pela JQuery. - * @see https://tdn.totvs.com/display/public/fluig/Consumo+de+um+WS+SOAP+de+um+Widget#ConsumodeumWSSOAPdeumWidget-ConsumirumWSSOAPdeumWidget - */ - declare function Create(settings: WcmApiRequestSettings): void; - /** - * Encerra a sessão do usuário - */ - declare function logoff(): void; +declare namespace com.fluig.sdk.api.authorizeclient { + declare class AuthorizeClientSdkServiceVO { + /** + * Pega o Resultado da Requisição + * + * Se for um JSON basta usar JSON.parse() para converter em objeto. + */ + getResult(): string; + getCompanyId(): number; + getDescription(): string; + getEndpoint(): string; + getHeaders(): java.util.Map; + getHttpStatusResult(): number; + getMethod(): string; + getOptions(): java.util.Map; + getParams(): java.util.Map; + getServiceCode(): string; + getStrParams(): string; + getTimeoutService(): string; + } } -/** - * Funções relacionadas a Documentos - * - * Usar em qualquer evento. - */ -declare namespace docAPI { +declare namespace com.fluig.sdk.api.document { + declare class AllocatedDocumentVO {} + declare class DocumentApprovementHistoryVO {} + declare class DocumentApproverVO {} + declare class DocumentPermissionVO {} + declare class DocumentRestrictionVO {} + declare class DocumentSecurityConfigVO {} + declare class DocumentSecurityVO {} + declare class DocumentTaskVO {} + /** - * Copia os arquivos físicos de um documento existente para a área de upload do usuário logado - * @returns Nomes dos arquivos que foram disponibilizados na área de upload + * Representa um documento */ - declare function copyDocumentToUploadArea(documentId: number, version: number): string[]; -} - -declare type ErrorCallback = (error: ErrorData, data: object) => void; -declare type SimpleCallback = () => void; -declare type DataCallback = (data: object) => void; - -declare type AutoCompleteOnTagCallback = (item: object, tag: object) => void; - -/** - * Callback de Modal - * - * @param error Indica se houve erro - * @param data Todo o conteúdo da propriedade content da modal - */ -declare type ModalCallback = (error: boolean, data: string) => void; - -/** - * Callback da mensagem de Confirmação - * - * @param result Resultado da confirmação (True se clicou em Sim) - * @param element Botão clicado - * @param data Evento disparado - */ -declare type ConfirmCallback = (result: boolean, element: HTMLElement, event: Event) => void; + declare class DocumentVO { + /** + * Recupera número de acessos + */ + getAccessCount(): number; -/** - * Callback de mensagem - * - * @param element Botão clicado - * @param data Evento disparado - */ -declare type MessageCallback = (element: HTMLElement, event: Event) => void; + /** + * Recupera versão ativa + */ + getActiveVersion(): boolean; -interface ErrorData { - message?: string; - responseText: object; -} + /** + * Recupera o valor do comentário nas informações extras + */ + getAdditionalComments(): string; -interface AutoCompleteOptions { - /** - * Tipo do autocomplete - * - * Pode ser (padrão é tag): - * - autocomplete - * - tag - * - tagAutocomplete - */ -    type?: string; + /** + * Recupera valor, se documento permite multi card por usuário + */ + getAllowMuiltiCardsPerUser(): boolean; - /** - * Item exibido na sugestão - * - * Obrigatório para autocomplete e tagAutocomplete - */ -    displayKey?: string; + /** + * Recupera condição approvalAndOr + */ + getApprovalAndOr(): boolean; - /** - * Nome do dataset - * - * Opcional para autocomplete e tagAutocomplete - */ -    name?: string; + /** + * Recupera valor, se documento está aprovado + */ + getApproved(): boolean; - /** - * Determina o serviço utilizado para buscar as sugestões - */ - source: { -        url: string; -        limit: 10, -        offset: 0, -        limitKey: string; -        patternKey: string; -        root: string; -    }; + /** + * Recupera valor da data de aprovação + */ + getApprovedDate(): Date - /** - * Coloca o texto em negrito quando efetua a busca - */ - highlight?: boolean; + /** + * Recupera id de atualização + */ + getAtualizationId(): number; - /** - * Mínimo de caracteres antes de iniciar a busca - */ -    minLength?: number; + /** + * Recupera descrição do card + */ + getCardDescription(): string; - /** - * Se falso não exibirá as opções retornadas da busca - */ -    hint?: boolean; + /** + * Recupera id do colega + */ + getColleagueId(): string; - /** - * Tempo limite para obter um resultado da busca - */ -    searchTimeout?: number; + /** + * Recupera valor do crc + */ + getCrc(): number; - /** - * Nome da classe utilizada na tag - */ -    tagClass?: string; + /** + * Recupera valor para data de criação + */ + getCreateDate(): Date - /** - * Máximo de tags permitidas para selecionar - */ -    maxTags?: number; + /** + * Recupera valor, se documento foi deletado + */ + getDeleted(): boolean; - /** - * Permite selecionar a mesma tag várias vezes - */ -    allowDuplicates?: boolean + /** + * Recupera descrição do documento + */ + getDocumentDescription(): string; - /** - * Evento disparado quando tentar adicionar uma tag repetida - */ -    onTagExists?: AutoCompleteOnTagCallback; + /** + * Recupera valor do document Id + */ + getDocumentId(): number; - /** - * Evento disparado ao atingir o limite de tags - */ -    onMaxTags?: AutoCompleteOnTagCallback; + /** + * Recupera número de propriedade do documento + */ + getDocumentPropertyNumber(): number; - /** - * Largura máxima da tag - */ -    tagMaxWidth?: number; + /** + * Recupera versão do documento + */ + getDocumentPropertyVersion(): number; - /** - * Template da dica - */ -    templates?: { -        tag: string; -        suggestion: string; -    }; -     - /** - * Objeto com o CSS para formatar uma tag removida - */ -    tagRemoveCss?: { - [property: string]: string; -    }; + /** + * Recupera valor do tipo de documento + */ + getDocumentType(): DocumentTypeEnum; -} + /** + * Recupera valor do id do tipo de documento + */ + getDocumentTypeId(): string; -interface AutoCompleteTag { - description: string; -} + /** + * Recupera valor, se download é habilitado + */ + getDownloadEnabled(): boolean; -declare class AutoComplete { - /** - * Adiciona uma tag - * - * Método para os tipos tag e tagAutocomplete - */ - add(tag: AutoCompleteTag): void; + /** + * Recupera valor de draft + */ + getDraft(): boolean; - /** - * Atualiza uma tag para o tipo tag ou tagAutocomplete - * - * Método para os tipos tag e tagAutocomplete - */ - update(tag: AutoCompleteTag): void; + /** + * Recupera data de expiração + */ + getExpirationDate(): Date - /** - * Remove uma tag para o tipo tag ou tagAutocomplete - * - * Método para os tipos tag e tagAutocomplete - */ - remove(tag: AutoCompleteTag): void; + /** + * Recupera valor, se documento expira + */ + getExpires(): boolean; - /** - * Remove todas as tags - * - * Método para os tipos tag e tagAutocomplete - */ - removeAll(): void; + /** + * Recupera os dados extras + */ + getExtData(): java.util.HashMap; - /** - * Retorna todas as tags - * - * Método para os tipos tag e tagAutocomplete - */ - items(): AutoCompleteTag[]; + /** + * Recupera id documento externo + */ + getExternalDocumentId(): string; - /** - * Abre a caixa de seleção - * - * Método para o tipo autocomplete - */ - open(): void; + /** + * Recupera os dados extras + */ + getExtraData(key: string): object; - /** - * Fecha a caixa de seleção - * - * Método para o tipo autocomplete - */ - close(): void; + /** + * Recupera id do ícone + */ + getIconId(): number; - /** - * Pega o valor do elemento - * - * Método para o tipo autocomplete - */ - val(): string; + /** + * Recupera valor do path do icon + */ + getIconPath(): string; - /** - * Atribui um valor ao elemento - * - * Método para o tipo autocomplete - */ - val(value: string): void; + /** + * Recupera valor, se documento é imutável + */ + getImutable(): boolean; + /** + * Recupera valor, se documento é indexado + */ + getIndexed(): boolean; - /** - * Coloca o foco no autocomplete - */ - focus(): void; + /** + * Retorna se o documento herda as propriedades do parent + */ + getInheritSecurity(): boolean; - /** - * Pega o elemento input do autocomplete - */ - input(): HTMLElement; + /** + * Recupera valor, se documento pode ser visualizado internamente. + */ + getInternalVisualizer(): boolean; - /** - * Atualiza o autocomplete - * - * Útil para quando fizer mudanças manuais no elemento. - */ - refresh(): void; + /** + * Recupera valor de palavra chave + */ + getKeyWord(): string; - /** - * Destrói o autocomplete - */ - destroy(): void; -} + /** + * Recupera id da linguagem + */ + getLanguageId(): string; -interface LoadingSettings { - /** - * Mensagem exibida - * - * Padrão: "Loading..." - */ - textMessage?: string, + /** + * Recupera valor da última data de modificação + */ + getLastModifiedDate(): Date - /** - * Título exibido quando theme == true - * - * Padrão: "" - */ - title?: string, + /** + * Recupera última data de modificação + */ + getLastModifiedTime(): string; - /** - * Estilo para o bloco de carregamento - * - * Objeto CSS aceito pela JQuery. - * - * Padrão: null - */ - css?: object, + /** + * Recupera valor, se documento está em checkout + */ + getOnCheckout(): boolean; - /** - * Estilo para o overlay - * - * Objeto CSS aceito pela JQuery. - * - * Padrão: null - */ - overlayCSS?: object, + /** + * Recupera id do pai do documento + */ + getParentDocumentId(): number; - /** - * Estilo para o cursor antes de bloquear - * - * Padrão: "" - */ - cursorReset?: string, + /** + * Recupera o tipo de permissão + */ + getPermissionType(): number; - /** - * Índice Z-Index - * - * Padrão: null - */ - baseZ?: number, + /** + * Recupera arquivo físico + */ + getPhisicalFile(): string; - /** - * Indica se será centralizado na tela - * - * Padrão: true - */ - centerX?: boolean, + /** + * Recupera valor do tamanho do arquivo físico + */ + getPhisicalFileSize(): number; - /** - * Indica se será centralizado na tela - * - * Padrão: true - */ - centerZ?: boolean, + /** + * Recupera prioridade + */ + getPriority(): number; - /** - * Desabilita eventos de teclado e mouse - * - * Padrão: true - */ - bindEvents?: boolean, + /** + * Recupera valor id privado do colega + */ + getPrivateColleagueId(): string; - /** - * Tempo, em ms, do efeito de transição no bloqueio - * - * Se for 0 não terá efeito de transição. - */ - fadeIn?: number, + /** + * Recupera valor, se documento é privado + */ + getPrivateDocument(): boolean; - /** - * Tempo, em ms, do efeito de transição no desbloqueio - * - * Se for 0 não terá efeito de transição. - */ - fadeOut?: number, + /** + * Recupera id do publicador + */ + getPublisherId(): string; - /** - * Tempo, em ms, para aguardar antes de desbloquear - * - * Se for 0 vai desabilitar o auto desbloqueio. - */ - timeout?: number, + /** + * Recupera arquivos relacionados + */ + getRelatedFiles(): string; - /** - * Indica se será exibido o overlay - * - * Padrão: true - */ - showOverlay?: boolean, + /** + * Recupera tipo de restrição + */ + getRestrictionType(): number; - /** - * Função para ser executado após o efeito de transição do bloqueio - */ - onBlock?: SimpleCallback, + /** + * Recupera valor do código do site + */ + getSiteCode(): string; - /** - * Função para ser executado após o efeito de transição do desbloqueio - * - * O elemento desbloqueado será passado à função. - */ - onUnBlock?: DataCallback, + /** + * Recupera id do tenant + */ + getTenantId(): number; - /** - * Indica se vai ignorar um bloqueio quando já está bloqueado - * - * Padrão: false - */ - ignoreIfBlocked?: boolean -} + /** + * Recupera valor do id do tópico + */ + getTopicId(): number; -declare class Loading { - /** - * Exibe a tela de carregamento - */ - show(): void; + /** + * Recupera valor, se documento é traduzido + */ + getTranslated(): boolean; - /** - * Esconde a tela de carregamento - */ - hide(): void; -} + /** + * Recupera updateIsoProperties + */ + getUpdateIsoProperties(): boolean; -interface FilterSourceSettings { - /** - * URL que trará os dados - */ - url: string, + /** + * Recupera o identificador do upload + */ + getUploadId(): string; - /** - * Tipo do conteúdo retornado. Ex: application/json - */ - contentType: string, - root: string, - pattern: string, - limit: number, - offset: number, - patternKey: string, - limitKey: string, - offsetKey: string -} + /** + * Recupera valor, se usuário será notificado + */ + getUserNotify(): boolean; -interface FilterStyleSettings { - /** - * The selector for the autocomplete tag template. - */ - templateTag?: string, + /** + * Recupera valor do UUID + */ + getUUID(): string; - /** - * The selector for the autocomplete suggestion template. - */ - templateSuggestion?: string, + /** + * Recupera data de inicio de validação + */ + getValidationStartDate(): Date - /** - * The selector for the autocomplete tip message template. - */ - templateTipMessage?: string, + /** + * Recupera valor da versão + */ + getVersion(): number; - /** - * Class name for the tags. Padrão é tag-gray - */ - autocompleteTagClass?: string, + /** + * Recupera a ação que será realizada em relação a versão documento + */ + getVersionAction(): string; - /** - * CSS class used to table selected lines. - */ - tableSelectedLineClass?: string, + /** + * Recupera descrição da versão + */ + getVersionDescription(): string; - /** - * Receives the waiting time to make the request. This is important not to open a request for each character typed. - */ - tableStyle?: string, + /** + * Recupera visualização + */ + getVisualization(): string; - /** - * Defines a CSS class to apply to the table. Padrão é fluigicon-zoom-in - * - * Ex .: 'table-hover table-bordered table-striped'. - */ - filterIconClass?: string -} + /** + * Recupera id do volume + */ + getVolumeId(): string; -interface FilterTableSettings { - header: FilterTableHeader[], + /** + * Atribui valor para número de acessos + */ + setAccessCount(accessCount: number): void; - /** - * Pode ser um array de chaves do objeto ou a classe CSS do template mustache. - * - * A sequência do array deve ser a mesma de header. - */ - renderContent: string|string[], - formatData?: function -} + /** + * Atribui valor para versão ativa + */ + setActiveVersion(activeVersion: boolean): void; -interface FilterTableHeader { - /** - * Título da coluna - */ - title?: string, + /** + * Atribui o valor do comentário nas informações extras + */ + setAdditionalComments(comments: string): void; - /** - * Atributo do objeto que será utilizado para ordenar essa coluna. Padrão é vazio. - * - * Caso não seja passado utilizará o conteúdo padrão da coluna que foi - * indicado em renderContent da tabela. - */ - dataorder?: string, + /** + * Atribui valor para allowMultiCardsPerUser + */ + setAllowMuiltiCardsPerUser(allowMultiCardsPerUser: boolean): void; - /** - * Indica se será a coluna ordenada por padrão. Padrão é false. - */ - standard?: boolean, + /** + * Atribui valor para approvalAndOr + */ + setApprovalAndOr(approvalAndOr: boolean): void; - /** - * Tamanho visual da coluna. Utiliza uma das classes CSS col- - */ - size?: string, + /** + * Atribui valor, se documento está aprovado + */ + setApproved(approved: boolean): void; - /** - * Indica se a coluna deverá ser exibida. Padrão é true - */ - display?: boolean -} + /** + * Atribui valor para data de aprovação + */ + setApprovedDate(approvedDate: Date): void; -interface FilterSettings { - /** - * Campo que será exibido ao selecionar um valor - */ - displayKey: string, + /** + * Atribui valor para id de atualização + */ + setAtualizationId(actualizationId: number): void; - /** - * Configuração da fonte de dados - */ - source: FilterSourceSettings, + /** + * Atribui valor para descrição do card + */ + setCardDescription(cardDescription: string): void; - /** - * Configuração da Tabela de exibição dos itens - */ - table: FilterTableSettings, + /** + * Atribui valor para id do colega + */ + setColleagueId(colleagueId: string): void; - /** - * Configuração dos estilos - */ - style?: FilterStyleSettings, + /** + * Atribui valor para crc + */ + setCrc(crc: number): void; - /** - * Altura da tabela (preferencialmente em px). Padrão: 260px - */ - tableHeight?: string, + /** + * Atribui valor para data de criação + */ + setCreateDate(createDate: Date): void; - /** - * Permite múltiplas seleções? Padrão: false - */ - multiSelect?: boolean, + /** + * Atribui valor, se documento foi deletado + */ + setDeleted(deleted: boolean): void; - /** - * Tempo limite (em ms) da busca na fonte de dados. Padrão 200ms - */ - searchTimeout?: number, + /** + * Atribui valor para descrição do documento + */ + setDocumentDescription(documentDescription: string): void; - /** - * Quantidade mínima de caracteres antes de iniciar a busca. Padrão 1 - */ - minLength?: number, + /** + * Atribui valor para id do documento + */ + setDocumentId(documentId: number): void; - /** - * Limite de caracteres exibidos no item selecionado. Padrão: 200 - */ - tagMaxWidth?: number -} + /** + * Atribui valor para número de propriedade do documento + */ + setDocumentPropertyNumber(documentPropertyNumber: number): void; -interface ToastSettings { - /** - * Título do Toast. Diferença é que fica em negrito. - */ - title?: string, + /** + * Atribui versão de documento + */ + setDocumentPropertyVersion(documentPropertyVersion: number): void; - /** - * Mensagem repassada - */ - message?: string, + /** + * Atribui valor para tipo de documento + */ + setDocumentType(documentType: DocumentTypeEnum): void; - /** - * Tipos possíveis: success, danger, info and warning - * Padrão: success - */ - type?: string, + /** + * Atribui valor para id do tipo de documento + */ + setDocumentTypeId(documentTypeId: string): void; - /** - * Tempo, em milissegundos, ou as strings slow ou fast. - * - * O tempo padrão são 4000 milissegundos. - * slow representa 2000 e fast representa 6000. - * - * O Toast do tipo danger ignora o timeout. - */ - timeout?: number|string -} + /** + * Atribui valor, se download é habilitado + */ + setDownloadEnabled(downloadEnabled: boolean): void; -declare class FluigcFilter { - getSelectedItems(): object[]; - add(item: object): void; - removeAll(): void; + /** + * Atribui valor para draft + */ + setDraft(draft: boolean): void; - /** - * Escuta eventos do filtro. - * - * Importante: não coloque mais de um filtro em um mesmo pai, pois os eventos - * serão escutados por todos os filtros irmãos. - * - * O filtro dispara os seguintes eventos: - * - fluig.filter.load.complete => quando o filtro termina de carregar - * - fluig.filter.item.added => quando um item é selecionado/adicionado - * - * @param event - * @param callback - */ - on(event: string, callback: SimpleCallback|DataCallback): void; -} + /** + * Atribui valor para data de expiração + */ + setExpirationDate(expirationDate: Date): void; -declare class FluigcModal { - /** - * Remove (fecha) a Modal - */ - remove(): void; + /** + * Atribui valor, se documento expira + */ + setExpires(expires: boolean): void; - /** - * Indica se a Modal está visível - */ - isOpen(): boolean; -} + /** + * Atribui valor para id documento externo + */ + setExternalDocumentId(externalDocumentId: string): void; -/** - * Configuração dos botões da Modal - */ -interface ModalActionSettings { - /** - * Rótulo exibido - */ - label: string; + /** + * Atribui valores para os dados extras + */ + setExtraData(key: string, value: object): void; - /** - * Evento ouvido em bindings.global da SuperWidget - * - * Precisa ter o prefixo data- - * Exemplo de valor: data-save-settings - */ - bind?: string; + /** + * Atribui valor para id do ícone + */ + setIconId(iconId: number): void; - /** - * Estilo utilizado no botão - * - * Por padrão o primeiro botão recebe btn-primary - * e os demais recebem btn-default - */ - classType?: string; + /** + * Atribui valor do iconPath do arquivo + */ + setIconPath(iconPath: string): void; - /** - * Indica se o botão fechará a Modal - * - * Por padrão é false. - * - * IMPORTANTE: se for true ele não executará o bind registrado. - */ - autoClose?: boolean; -} + /** + * Atribui valor, se documento é imutável + */ + setImutable(immutable: boolean): void; -/** - * Configurações da Mensagem de Confirmação - */ -interface ConfirmSettings { - /** - * Título - */ - title: string; + /** + * Atribui valor, se documento é indexado + */ + setIndexed(indexed: boolean): void; - /** - * Mensagem - */ - message: string; + /** + * Atribui se herda as propriedades de segurança do parent + */ + setInheritSecurity(inheritSecurity: boolean): void; - /** - * Texto do Botão Sim - * - * Padrão: Sim - */ - labelYes?: string; + /** + * Atribui valor, se documento pode ser visualizado internamente + */ + setInternalVisualizer(internalVisualizer: boolean): void; - /** - * Texto do Botão Não - * - * Padrão: Não - */ - labelNo?: string; -} + /** + * Atribui valor para palavra chave + */ + setKeyWord(keyWord: string): void; -/** - * Configurações da Mensagem de Alerta - */ -interface AlertSettings { - /** - * Título - */ - title: string; + /** + * Atribui valor para id da linguagem + */ + setLanguageId(languageId: string): void; - /** - * Mensagem - */ - message: string; + /** + * Atribui valor para última data de modificação + */ + setLastModifiedDate(lastModifiedDate: Date): void; - /** - * Texto do Botão Ok - * - * Padrão: OK - */ - label?: string; -} + /** + * Atribui valor a última data de modificação + */ + setOnCheckout(onCheckout: boolean): void; -/** - * Configurações da Mensagem de Erro - */ -interface ErrorSettings { - /** - * Título - */ - title: string; + /** + * Atribui valor, se documento está em checkout + */ + setLastModifiedTime(lastModifiedTime: string): void; - /** - * Mensagem - */ - message: string; + /** + * Atribui valor para id do documento pai + */ + setParentDocumentId(parentDocumentId: number): void; - /** - * Detalhes do erro - * - * Pode quebrar linha utilizando \n - */ - details: string; -} + /** + * Atribui valor para tipo de permissão + */ + setPermissionType(permissionType: number): void; -/** - * Configurações da Modal - */ -interface ModalSettings { - /** - * Título exibido na modal - */ - title: string; + /** + * Atribui valor para arquivo físico + */ + setPhisicalFile(physicalFile: string): void; - /** - * Conteúdo da Modal - * - * Pode ser uma string HTML, template Mustache - * ou retorno de uma chamada a WCMAPI.convertFtlAsync - */ - content: string; + /** + * Atribui valor para o tamanho do arquivo físico + */ + setPhisicalFileSize(physicalFileSize: number): void; - /** - * ID da Modal - * - * Por padrão é fluig-modal. - * A cada chamada o elemento HTML da modal é construído e - * então destruído quando a modal é fechada. - */ - id?: string; + /** + * Atribui valor prioridade + */ + setPriority(priority: number): void; - /** - * Tamanho da Modal - * - * Pode ser: small | large | full - */ - size: string; + /** + * Atribui valor id privado do colega + */ + setPrivateColleagueId(privateColleagueId: string): void; - /** - * Botões da Modal - */ - actions: ModalActionSettings[]; -} + /** + * Atribui valor, se documento é privado + */ + setPrivateDocument(privateDocument: boolean): void; -interface CalendarSettings { - /** - * Indica se exibirá a seleção de Data. Padrão true. - */ - pickDate?: boolean; + /** + * Atribui valor para id do publicador + */ + setPublisherId(publisherId: string): void; - /** - * Indica se exibirá a seleção de Tempo. Padrão false. - */ - pickTime?: boolean; + /** + * Atribui valor para arquivos relacionados + */ + setRelatedFiles(relatedFiles: string): void; - /** - * Indica se usará minutos. Padrão true. - */ - useMinutes?: boolean; + /** + * Atribui valor para tipo de restrição + */ + setRestrictionType(restrictionType: number): void; - /** - * Indica se usará segundos. Padrão true. - */ - useSeconds?: boolean; + /** + * Atribui valor para código de site + */ + setSiteCode(siteCode: string): void; - /** - * Indica se selecionará automaticamente a data corrente. Padrão true - */ - useCurrent?: boolean; + /** + * Atribui valor para id do tenant + */ + setTenantId(tenantId: number): void; - /** - * Valor a incrementar os minutos quando clicar nas setas de subir/descer - */ - minuteStepping?: number; + /** + * Atribui valor para id do tópico + */ + setTopicId(topicId: number): void; - /** - * Define uma data mínima selecionável - */ - minDate?: string; + /** + * Atribui valor, se documento é traduzido + */ + setTranslated(translated: boolean): void; - /** - * Define a data máxima selecionável - */ - maxDate?: string; + /** + * Atribui valor para updateIsoProperties + */ + setUpdateIsoProperties(updateIsoProperties: boolean): void; - /** - * Exibe o indicador do dia de hoje - */ - showToday?: boolean; + /** + * Atribue o identificador do upload + */ + setUploadId(uploadId: string): void; - /** - * Código do idioma. Padrão pt-br - */ - language?: string; + /** + * Atribui valor se usuário será notificado + */ + setUserNotify(userNotify: boolean): void; - /** - * Data padrão - * - * Aceita também data da Moment.js - */ - defaultDate?: string|Date; + /** + * Atribui valor para UUID + */ + setUUID(uUID: string): void; - /** - * Datas que não podem ser selecionadas - * - * Aceita também data da Moment.js - */ - disabledDates?: string[]|Date[]; + /** + * Atribui valor para data de início de validação + */ + setValidationStartDate(validationStartDate: Date): void; - /** - * Únicas datas que podem ser selecionadas - * - * Aceita também data da Moment.js - */ - enabledDates?: string[]|Date[]; + /** + * Atribui valor para versão + */ + setVersion(version: number): void; - /** - * Use "strict" quando validar datas. Padrão false - */ - useStrict?: boolean; + /** + * Atribue a ação que será realizada em relação a versão documento + */ + setVersionAction(versionAction: string): void; - /** - * Exibe a seleção de Tempo ao lado da seleção de Data. Padrão false. - */ - sideBySide?: boolean; + /** + * Atribui valor para descrição da versão + */ + setVersionDescription(versionDescription: string): void; - /** - * Dias da semana que não pode ser selecionados - * - * Dia da semana inicia em 0, para domingo. - */ - daysOfWeekDisabled?: number[]; -} + /** + * Atribui valor para visualização + */ + setVisualization(visualization: string): void; -declare class Calendar { - /** - * Configura a data mínima que pode ser selecionada - * - * @param date Data como string (formato pt-br), Date ou moment - */ - setMinDate(date: string|Date): void; + /** + * Atribui valor ao id do volume + */ + setVolumeId(volumeId: string): void; + } /** - * Configura a data máxima que pode ser selecionada - * - * @param date Data como string (formato pt-br), Date ou moment + * Representa uma pasta */ - setMaxDate(date: string|Date): void; - show(): void; - disable(): void; - enable(): void; + declare class FolderVO { - /** - * Atribui a data selecionada - * - * @param date Data como string (formato pt-br), Date ou moment - */ - setDate(date: string|Date): void; + /** + * Recupera comentário adicional + */ + getAdditionalComments(): string; - /** - * Pega a data como objeto moment (da lib momentjs) - */ - getDate(): any; -} + /** + * Recupera valor de approvalAndOr + */ + getApprovalAndOr(): boolean; -interface WidgetUpdatePreferences { - /** - * Indica se será uma chamada assíncrona - */ - async: boolean; + /** + * Recupera valor do colleagueId + */ + getColleagueId(): string; - /** - * Função executada em caso de sucesso - * - * @param data - */ - success?: function (object): void; + /** + * Recupera valor da data de criação + */ + getCreateDate(): Date; - /** - * Função executada em caso de falha - * - * @param jqXHR Objeto da JQuery - * @param message Mensagem do erro - * @param errorData Objeto retornado pelo erro - */ - fail?: function (object, string, errorData): void; -} + /** + * Recupera valor de descrição do documento + */ + getDocumentDescription(): string; -declare namespace WCMSpaceAPI.PageService { - declare function UPDATEPREFERENCES(settings: WidgetUpdatePreferences, instanceId: number, preferences: object): void; -} + /** + * Recupera valor do documentoId + */ + getDocumentId(): number; -declare namespace FLUIGC { - /** - * Cria um campo com auto-complete - * - * Eventos disponíveis para autocomplete: - * - fluig.autocomplete.cursorchanged - * - fluig.autocomplete.opened - * - fluig.autocomplete.closed - * - fluig.autocomplete.selected - * - fluig.autocomplete.autocompleted - * - fluig.autocomplete.beforeItemAdd - * - fluig.autocomplete.itemAdded - * - fluig.autocomplete.beforeItemUpdate - * - fluig.autocomplete.itemUpdated - * - fluig.autocomplete.beforeItemRemove - * - fluig.autocomplete.itemRemoved - * - * @param target Seletor utilizado na JQuery - * @param options Opções adicionais para o autocomplete - * @param callback Função executada após trazer as respostas para o auto-complete - */ - declare function autocomplete(target: string, options: AutoCompleteOptions, callback: ErrorCallback): AutoComplete; + /** + * Recupera id do tipo de documento + */ + getDocumentTypeId(): string; - /** - * Cria um campo filter em um select (é o Zoom feito manualmente) - * - * Para usar em formulário deve-se incluir o css /style-guide/css/fluig-style-guide-filter.min.css - * e o script /style-guide/js/fluig-style-guide-filter.min.js - * - * Para usar em Widget deve-se incluir a instrução application.resource.component.1=fluigfilter - * (substituindo o 1 por um valor ainda não utilizado) no arquivo application.info - * - * @param target Seletor utilizado na JQuery - * @param settings Configurações do filtro - */ - declare function filter(target: string, settings: FilterSettings): FluigcFilter; + /** + * Recupera os tipos de documento + */ + getDocumentTypes(): java.util.List; - /** - * Cria uma caixa de seleção para tratar data e horário - * - * @param target Seletor utilizado na JQuery - * @param settings Configurações do calendário - */ - declare function calendar(target: string, settings: CalendarSettings): Calendar; + /** + * Recupera informação se download da pasta está disponível + */ + getDownloadEnabled(): boolean; - /** - * Exibe uma mensagem simples no topo da página. - * - * Muito utilizado para substituir alert do JS. - */ - declare function toast(settings: ToastSettings): void; + /** + * Informa se a pasta pode expirar + */ + getExpires(): boolean; - /** - * Cria uma tela de carregamento em elemento específico ou na janela inteira - * - * Caso o objeto window seja passado a tela de carregamento ocupará a janela inteira. - * - * @param selector Uma string com seletor JQuery ou objeto window - * @param settings Configurações possíveis para o Loading - */ - declare function loading(selector: string|Window, settings: LoadingSettings): Loading; + /** + * Recupera os filtros + */ + getFilters(): java.util.HashMap; - /** - * Cria uma Modal - * - * @param settings Configurações - * @param callback Função para executar após a criação da modal - */ - declare function modal(settings: ModalSettings, callback: ModalCallback): FluigcModal; -} + /** + * Recupera valor do iconId + */ + getIconId(): number; -declare namespace FLUIGC.message { - /** - * Cria uma Mensagem de Confirmação - * - * @param settings Configurações - * @param callback Função para executar após o usuário responder a confirmação - */ - declare function confirm(settings: ConfirmSettings, callback: ConfirmCallback): void; + /** + * Recupera boolean se pasta é imutável + */ + getImutable(): boolean; - /** - * Cria uma Mensagem de Alerta - * - * @param settings Configurações - * @param callback Função para executar após o usuário fechar o alerta - */ - declare function alert(settings: AlertSettings, callback: MessageCallback): void; + /** + * Recupera segurança herdada + */ + getInheritSecurity(): boolean; - /** - * Cria uma Mensagem de Erro - * - * @param settings Configurações - * @param callback Função para executar após o usuário fechar o erro - */ - declare function error(settings: ErrorSettings, callback: MessageCallback): void; -} + /** + * Recupera valor de visualizador interno + */ + getInternalVisualizer(): boolean; -declare namespace FLUIGC.calendar { - /** - * Formata uma data em uma string de acordo com a formatação indicada. - * - * @see https://style.fluig.com/javascript.html#fluig-calendar - * - * @param date Data a ser formatada - * @param format Formatação - * @param language Idioma (padrão pt-br) - */ - declare function formatDate(date: Date, format: string, language?: string): string; -} + /** + * Recupera valor da palavra chave + */ + getKeyWord(): string; -/** - * Callback de Inicialização do Botão Switch - * - * @param event Evento disparado - * @this HTMLElement - */ -declare type SwitchInitCallback = (event: JQuery.Event) => void; + /** + * Recupera boolean se usuário será notificado + */ + getNotifyUser(): boolean; -/** - * Callback de mudança de estado do Botão Switch - * - * @param event Evento disparado - * @param checked Indica se está selecionado - * @this HTMLElement - */ -declare type SwitchChangeCallback = (event: JQuery.Event, checked: boolean) => void; + /** + * Recupera valor do id da pasta pai + */ + getParentFolderId(): number; -/** - * Botão Switch - * - * @see https://style.fluig.com/javascript.html#switch-button - */ -declare namespace FLUIGC.switcher { + /** + * Recupera lista de permissões + */ + getPermissions(): java.util.List; - /** - * Transforma um checkbox ou radio em um botão switch - * - * Ao inicializar o botão switch será feita a leitura das opções - * do elemento HTML (os atributos do checkbox ou radio) para orientar - * como o botão deve ser. - * - * As opções no checkbox/radio são: - * - * | Atributo | Valores | Padrão | - * |----------|---------|--------| - * | checked | true, false | false | - * | data-size | null, 'mini', 'small', 'normal', 'large' | null| - * | data-animate | true, false | true| - * | disabled | true, false | false| - * | readonly | true, false | false| - * | data-on-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'primary'| - * | data-off-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'default'| - * | data-on-text | | 'ON'| - * | data-off-text | | 'OFF'| - * - * @tutorial https://style.fluig.com/javascript.html#switch-button - * - * @param element Seletor JQuery ou Objeto JQuery - */ - declare function init(element: string|JQuery): void; - /** - * Transforma todos os checkbox e radio de um container em botões switch - * - * Ao inicializar o botão switch será feita a leitura das opções - * do elemento HTML (os atributos do checkbox ou radio) para orientar - * como o botão deve ser. - * - * As opções no checkbox/radio são: - * - * | Atributo | Valores | Padrão | - * |----------|---------|--------| - * | checked | true, false | false | - * | data-size | null, 'mini', 'small', 'normal', 'large' | null| - * | data-animate | true, false | true| - * | disabled | true, false | false| - * | readonly | true, false | false| - * | data-on-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'primary'| - * | data-off-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'default'| - * | data-on-text | | 'ON'| - * | data-off-text | | 'OFF'| - * - * @tutorial https://style.fluig.com/javascript.html#switch-button - * - * @param parentElement Seletor JQuery, ou Objeto, do elemento pai - * @param fieldName Nome do input deve iniciar com o valor indicado - */ - declare function initAll(parentElement: string|JQuery, fieldName?: string): void; + /** + * Recupera tipo de permissão + */ + getPermissionType(): number; - /** - * Pega o estado do botão - * - * @param element Seletor JQuery ou Objeto JQuery - */ - declare function getState(element: string|JQuery): boolean; + /** + * Recupera boolean se documento é privado + */ + getPrivateDocument(): boolean; - /** - * Configura o estado como checked - * - * @param element Seletor JQuery ou Objeto JQuery - */ - declare function setTrue(element: string|JQuery): void; + /** + * Recupera lista de publicadores aprovadores + */ + getPublisherApprovers(): java.util.List; - /** - * Configura o estado como false (não selecionado) - * - * @param element Seletor JQuery ou Objeto JQuery - */ - declare function setFalse(element: string|JQuery): void; + /** + * Recupera id do publicador + */ + getPublisherId(): string; - /** - * Alterna o estado do botão - * - * @param element Seletor JQuery ou Objeto JQuery - */ - declare function toggleState(element: string|JQuery): void; + /** + * Recupera lista de restrições de documentos + */ + getRestrictions(): java.util.List; - /** - * Habilita o botão (remove disabled do checkbox/radio) - * - * @param element Seletor JQuery ou Objeto JQuery - */ - declare function enable(element: string|JQuery): void; + /** + * Recupera tipo de restrição + */ + getRestrictionType(): number; - /** - * Desabilita o botão (coloca disabled no checkbox/radio) - * - * Cuidado: inputs desabilitados não são enviados pelo formulário. - * - * @param element Seletor JQuery ou Objeto JQuery - */ - declare function disable(element: string|JQuery): void; + /** + * Recupera valor do tenantId + */ + getTenantId(): number; - /** - * Indica se é para o botão ser somente leitura - * - * @param element Seletor JQuery ou Objeto JQuery - */ - declare function isReadOnly(element: string|JQuery, readOnly: boolean): void; + /** + * Recupera id do tópico + */ + getTopicId(): number; - /** - * Remove o botão switch - * - * @param element Seletor JQuery ou Objeto JQuery - */ - declare function destroy(element: string|JQuery): void; + /** + * Recupera informação se update de iso properties é permitido + */ + getUpdateIsoProperties(): boolean; - /** - * Evento disparado quando iniciar um botão Switch - * - * @param element Seletor JQuery ou Objeto JQuery - * @param callback Função executada ao disparar o evento - */ - declare function onInit(element: string|JQuery, callback: SwitchInitCallback): void; + /** + * Recupera valor da versão + */ + getVersion(): number; - /** - * Evento disparado houver mudança de estado do botão Switch - * - * @param element Seletor JQuery ou Objeto JQuery - * @param callback Função executada ao disparar o evento - */ - declare function onChange(element: string|JQuery, callback: SwitchChangeCallback): void; -} + /** + * Recupera valor da descrição da versão + */ + getVersionDescription(): string; -interface IwsConsultaSQL { - /** - * Realiza uma consulta a um SQL previamente cadastrado no BI do RM - * - * @param {string} sql Código (ID) do SQL cadastrado no RM - * @param {number} coligadaNumber - * @param {string} systemCode - * @param {string} parameters Separe-os com ; e mantenha a sequência que o SQL pede. Ex: CODCOLIGADA=1;CODPROJ=00689 - */ - realizarConsultaSQL(sql:string, coligadaNumber:number, systemCode:string, parameters:string): string; -} + /** + * Recupera id do volume + */ + getVolumeId(): string; -declare namespace java.lang { - declare class Object { /** - * Retorna o valor do objeto como uma string + * Atribui valor para comentário adicional */ - toString(): string; - } -} + setAdditionalComments(additionalComments: string): void; -declare namespace java.text { + /** + * Atribui valor para approvalAndOr + */ + setApprovalAndOr(approvalAndOr: boolean): void; - /** - * Formatador de Datas - * - * @tutorial https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html - */ - declare class SimpleDateFormat { /** - * Cria um novo formatador de datas com o padrão indicado - * - * Exemplos: - * - * - "dd/MM/yyyy" -> data no formato pt-BR - * - "yyyy-MM-dd" -> data no formato ISO - * - "HH:mm" -> Hora (24h) e minuto - * - "yyyy-MM-dd'T'HH:mm:ss.SSSZ" -> Data completa (Ex: 2021-07-04T12:08:56.235-0700) - * - * @tutorial https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html + * Atribui valor para colleagueId */ - constructor(formato: string); + setColleagueId(colleagueId: string): void; /** - * Retorna a data formatada conforme o padrão da formatação + * Atribui valor a data de criação */ - format(data: java.util.Date): string; + setCreateDate(createDate: Date): void; /** - * Converte uma string, formatada como indicado no construtor, em um objeto Date + * Atribui valor para descrição do documento */ - parse(dataFormatada: string): java.util.Date; - } -} + setDocumentDescription(documentDescription: string): void; -declare namespace javax.naming { - /** - * Inicia um Contexto - */ - declare class InitialContext { + /** + * Atribui valor para documentId + */ + setDocumentId(documentId: number): void; /** - * Recupera o DataSource do Banco de Dados - * - * @param {string} dataSource O nome do dataSource. Ex: /jdbc/PostgreSqlDS - * @throws Exception + * Atribui valor para documentTypeId */ - lookup(dataSource: string): javax.sql.DataSource; + setDocumentTypeId(documentTypeId: string): void; /** - * Fecha o contexto ao invés de aguardar o coletor de lixo + * Atribui tipo de documentos */ - close(): void; - } -} + setDocumentTypes(documentTypes: java.util.List): void; -declare namespace javax.sql { - declare class DataSource { /** - * Recupera a Conexão com o Banco de Dados - * - * @throws Exception + * Atribui valor para informação se download de pasta está disponível */ - getConnection(): Connection; - } + setDownloadEnabled(downloadEnabled: boolean): void; - /** - * Conexão com o Banco de Dados - * - * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html - */ - declare class Connection { /** - * Cria o objeto que executará o SQL - * - * @throws Exception + * Atribui valor para informar se a pasta pode expirar */ - createStatement(): Statement; + setExpires(expires: boolean): void; /** - * Encerra a conexão ao invés de aguardar o coletor de lixo + * Atribui filtros */ - close(): void; - } + setFilters(filters: java.util.HashMap): void; - /** - * Objeto que executa uma instrução SQL - * - * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html - */ - declare class Statement { /** - * Executa um SQL que deve ser uma consulta (SELECT) - * - * @throws Exception + * Atribui valor para iconId */ - executeQuery(sql: string): ResultSet; + setIconId(iconId: number): void; /** - * Executa um SQL que modifica algo no banco (INSERT, UPDATE ou DELETE) - * - * @returns {number} Quantidade de registros afetados - * @throws Exception + * Atribui boolean se pasta será imutável */ - executeUpdate(sql: string): number; + setImutable(immutable: boolean): void; + + /** + * Atribui valor para segurança herdada + */ + setInheritSecurity(inheritSecurity: boolean): void; + + /** + * Atribui boolean se pasta possui visualizador interno + */ + setInternalVisualizer(internalVisualizer: boolean): void; + + /** + * Configura valor da palavra chave + */ + setKeyWord(keyWord: string): void; + + /** + * Atribui boolean se usuário será notificado + */ + setNotifyUser(notifyUser: boolean): void; + + /** + * Atribui valor para id da pasta pai + */ + setParentFolderId(parentFolderId: number): void; /** - * Libera os recursos da execução imediatamente ao invés de aguardar o coletor de lixo + * Atribui valor para lista de permissões */ - close(): void; - } - - /** - * Representa o resultado de uma consulta SQL - * - * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html - */ - declare class ResultSet { + setPermissions(permissions: java.util.List): void; /** - * Move o cursor para o primeiro resultado da consulta - * - * @returns {boolean} Retorna true se moveu o cursor + * Atribui valor ao tipo de permissão */ - first(): boolean; + setPermissionType(permissionType: number): void; /** - * Move o cursor para o último resultado da consulta - * - * @returns {boolean} Retorna true se moveu o cursor + * Atribui boolean se documento é privado */ - last(): boolean; + setPrivateDocument(privateDocument: boolean): void; /** - * Move o cursor para o próximo resultado da consulta - * - * @returns {boolean} Retorna true se moveu o cursor + * Atribui valor para publicadores aprovadores */ - next(): boolean; + setPublisherApprovers(publisherApprovers: java.util.List): void; /** - * Move o cursor para o resultado anterior da consulta - * - * @returns {boolean} Retorna true se moveu o cursor + * Atribui valor para id do publicador */ - previous(): boolean; + setPublisherId(publisherId: string): void; /** - * Pega o número, tipos e propriedades das colunas retornadas na consulta + * Atribui valor para lista de restrições de documentos */ - getMetaData(): ResultSetMetaData; + setRestrictions(restrictions: java.util.List): void; /** - * Retorna o valor da coluna como um Objeto Java - * - * Há vários métodos get para obter o valor da coluna como objetos específicos - * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. + * Atribui valor para tipo de restrição */ - getObject(columnIndex: number): java.lang.Object; - getObject(columnLabel: string): java.lang.Object; + setRestrictionType(restrictionType: number): void; /** - * Retorna o valor da coluna como uma string - * - * Há vários métodos get para obter o valor da coluna como objetos específicos - * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. + * Atribui valor para tenantId */ - getString(columnIndex: number): string; - getString(columnLabel: string): string; + setTenantId(tenantId: number): void; /** - * Retorna o valor da coluna como um boolean - * - * Há vários métodos get para obter o valor da coluna como objetos específicos - * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. + * Atribui valor para topicId */ - getBoolean(columnIndex: number): boolean; - getBoolean(columnLabel: string): boolean; + setTopicId(topicId: number): void; /** - * Retorna o valor da coluna como objeto Date - * - * Esse método retorna um java.sql.Date que herda de java.util.Date. - * Para evitar retrabalho deixei como java.util.Date mesmo. - * - * Há vários métodos get para obter o valor da coluna como objetos específicos - * do Java, tais como byte, java.sql.Blob etc. + * Atribui permitir atualização de iso properties */ - getDate(columnIndex: number): java.util.Date; - getDate(columnLabel: string): java.util.Date; + setUpdateIsoProperties(updateIsoProperties: boolean): void; /** - * Libera o resultado da consulta imediatamente ao invés de aguardar o coletor de lixo + * Atribui valor para versão */ - close(): void; - } + setVersion(version: number): void; - declare class ResultSetMetaData { /** - * Pega o total de colunas da consulta + * Atribui valor para descrição da versão */ - getColumnCount(): number; + setVersionDescription(versionDescription: string): void; /** - * Pega o Nome da Coluna (label) + * Atribui valor do id do volume */ - getColumnName(column: number): string; + setVolumeId(volumeId: string): void; + } + declare class RelatedDocumentVO {} + declare class SolvedPermissionVO {} +} + +declare namespace com.fluig.sdk.api.ecm { + declare class CollaborationAppVO {}; + declare class CollaborationVO {}; +} + +declare namespace com.fluig.sdk.api.enums { + enum AssumeProcessTaskStatus { + SUCCESS, + ERROR, + } +} + +declare namespace com.fluig.sdk.api.group { + declare class GroupVO {} +} + +declare namespace com.fluig.sdk.api.holiday { + declare class HolidayVO {} +} + +declare namespace com.fluig.sdk.api.job { + declare class JobVO {} +} + +declare namespace com.fluig.sdk.api.job.JobVO { + declare class IntervalType {} +} + +declare namespace com.fluig.sdk.api.local { + declare class LocalUserVO {} + declare class LocalVO {} +} + +declare namespace com.fluig.sdk.api.oauth { + declare class OAuthSdkVO {} +} + +declare namespace com.fluig.sdk.api.permission { + declare class PermissionAssetVO { + getId(): number; + getCode(): string; + getDescription(): string; + getPageCode(): string; + getTypeCode(): string; + setId(id: number): void; + setCode(code: string): void; + setDescription(description: string): void; + setPageCode(pageCode: string): void; + setTypeCode(typeCode: string): void; + } + + declare class PermissionVO { + getCategory(): string; + getCategoryCode(): string; + getIsSelected(): boolean; + getPermission(): string; + getPermissionDescription(): string; + setCategory(category: string): void; + setCategoryCode(categoryCode: string): void; + setIsSelected(isSelected: boolean): void; + setPermission(permission: string): void; + setPermissionDescription(permissionDescription: string): void; + } +} + +declare namespace com.fluig.sdk.api.search { + declare class DefaultSearchRequest {} + declare class DefaultSearchResponse{} +} + +declare namespace com.fluig.sdk.api.social { + declare class ArticleCoverVO {} + declare class ArticleVO {} + declare class CommentVO {} + declare class CommunityVO {} + declare class CropVO {} + declare class MediaVO {} + declare class PostVO {} + declare class SociableVO {} + declare class SocialBreadcrumbItemVO {} + declare class SocialBreadcrumbVO {} + declare class SocialVO {} +} + +declare namespace com.fluig.sdk.api.task { + declare class ResumedTasksVO {} + declare class TaskKindEnum {} + declare class TaskStatusEnum {} +} + +declare namespace com.fluig.sdk.api.workflow { + declare class AssumeProcessTaskResultVO { + getColleagueId(): string; + getComplement(): string; + getErrorCode(): string; + getMessage(): string; + getMovementSequence(): number; + getProcessInstanceId(): number; + getStatus(): com.fluig.sdk.api.enums.AssumeProcessTaskStatus; + getTenantId(): number; + setColleagueId(colleagueId: string): void; + setComplement(complement: string): void; + setErrorCode(errorCode: string): void; + setMessage(message: string): void; + setMovementSequence(movementSequence: number): void; + setProcessInstanceId(processInstanceId: number): void; + setStatus(status: com.fluig.sdk.api.enums.AssumeProcessTaskStatus): void; + setTenantId(tenantId: number): void; + } + + declare class AssumeProcessTaskVO { + getColleagueId(): string; + getReplacementId(): string; + getMovementSequence(): number; + getProcessInstanceId(): number; + setColleagueId(colleagueId: string): void; + setReplacementId(replacementId: string): void; + setMovementSequence(movementSequence: number): void; + setProcessInstanceId(processInstanceId: number): void; + } + + declare class AssumeProcessTasksResultVO {} + declare class AssumeProcessTasksVO {} + declare class AttachmentVO {} + declare class CancelInstanceResultVO {} + declare class CancelInstanceVO {} + declare class CancelInstancesResultVO {} + declare class CancelInstancesVO {} + declare class CardIndexAttachmentVO {} + declare class CardIndexVO {} + declare class CardItemVO {} + declare class ProcessAttachmentVO {} + declare class ProcessDefinitionVO {} + declare class ProcessDefinitionVersionVO {} + declare class ProcessInstanceInfoVO {} + declare class ProcessObservationVO {} + declare class ProcessStateVO {} + declare class ProcessTaskInfoVO {} + + declare class ProcessTaskVO { + getColleagueId(): string; + getComplement(): string; + getSelectedColleagueId(): string; + getCompanyId(): number; + getMovementSequence(): number; + getProcessInstanceId(): number; + getTransferredSequence(): number; + setColleagueId(colleagueId: string): void; + setComplement(complement: string): void; + setSelectedColleagueId(selectedColleagueId: string): void; + setCompanyId(companyId: number): void; + setMovementSequence(movementSequence: number): void; + setProcessInstanceId(processInstanceId: number): void; + setTransferredSequence(transferredSequence: number): void; } + + declare class ProcessVersionVO {} + declare class RequestProcessTaskVO {} + declare class RequestSLAVO {} + declare class RequestTaskSLAVO {} + declare class ResumeProcessTaskVO {} + declare class ResumeRequestsSLAVO {} + declare class WorkflowVO {} } diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..7da346f --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,12 @@ +const { src, dest } = require('gulp'); +const concat = require('gulp-concat'); + +function build(cb) { + src('src/**/*.ts') + .pipe(concat('fluig.d.ts')) + .pipe(dest('.')); + + cb(); +} + +exports.default = build; diff --git a/package-lock.json b/package-lock.json index 17d4e45..fc81a95 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,34 +1,7323 @@ { "name": "fluig-declaration-type", - "version": "1.0.1", - "lockfileVersion": 1, + "version": "1.2.0", + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "fluig-declaration-type", + "version": "1.2.0", + "license": "ISC", + "devDependencies": { + "gulp": "^4.0.2", + "gulp-concat": "^2.6.1" + } + }, + "node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==", + "dev": true, + "dependencies": { + "buffer-equal": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==", + "dev": true, + "dependencies": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "dependencies": { + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "dependencies": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "node_modules/async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==", + "dev": true, + "dependencies": { + "async-done": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==", + "dev": true, + "dependencies": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/buffer-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", + "dev": true, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "dev": true + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==", + "dev": true, + "dependencies": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "dependencies": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "dependencies": { + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "node_modules/each-props/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "dependencies": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", + "dev": true + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fined/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "dependencies": { + "sparkles": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "dependencies": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "dependencies": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-concat": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", + "integrity": "sha512-a2scActrQrDBpBbR3WUZGyGS1JEPLg5PZJdIa7/Bi3GuKAmPYDK6SFhy/NZq5R8KsKKFvtfR0fakbUCcKGCCjg==", + "dev": true, + "dependencies": { + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", + "dev": true, + "dependencies": { + "glogg": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true + }, + "node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==", + "dev": true, + "dependencies": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dev": true, + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==", + "dev": true, + "dependencies": { + "flush-write-stream": "^1.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/liftoff/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/make-iterator/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==", + "dev": true, + "dependencies": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/matchdep/node_modules/findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/matchdep/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "dependencies": { + "once": "^1.3.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", + "dev": true, + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "dev": true, + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true + }, + "node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "dev": true, + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==", + "dev": true, + "dependencies": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==", + "dev": true, + "dependencies": { + "value-or-function": "^3.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==", + "dev": true, + "dependencies": { + "sver-compat": "^1.5.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==", + "dev": true, + "dependencies": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "dependencies": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "node_modules/time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==", + "dev": true, + "dependencies": { + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "dependencies": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "dependencies": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", + "dev": true, + "dependencies": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-sourcemap/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "node_modules/yargs": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "node_modules/yargs-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + } + }, "dependencies": { - "@types/jquery": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.5.tgz", - "integrity": "sha512-6RXU9Xzpc6vxNrS6FPPapN1SxSHgQ336WC6Jj/N8q30OiaBZ00l1GBgeP7usjVZPivSkGUfL1z/WW6TX989M+w==", + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==", + "dev": true, + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", + "dev": true + }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==", + "dev": true, + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + } + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==", + "dev": true, + "requires": { + "async-done": "^1.2.2" + } + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==", + "dev": true, + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "buffer-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + } + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true + }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==", + "dev": true, + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "requires": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true + }, + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "requires": { + "kind-of": "^5.0.2" + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "dev": true, + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "requires": { + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", + "dev": true + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + } + }, + "glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "requires": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + } + }, + "gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + } + }, + "gulp-concat": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", + "integrity": "sha512-a2scActrQrDBpBbR3WUZGyGS1JEPLg5PZJdIa7/Bi3GuKAmPYDK6SFhy/NZq5R8KsKKFvtfR0fakbUCcKGCCjg==", + "dev": true, + "requires": { + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==", + "dev": true, + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==", + "dev": true, + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==", + "dev": true, + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, "requires": { - "@types/sizzle": "*" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, - "@types/moment": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@types/moment/-/moment-2.13.0.tgz", - "integrity": "sha1-YE69GJvDvDShVIaJQE5hoqSqyJY=", + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true + }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, "requires": { - "moment": "*" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } } }, - "@types/sizzle": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz", - "integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==" + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "requires": { + "once": "^1.3.2" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==", + "dev": true, + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==", + "dev": true, + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true }, - "moment": { - "version": "2.29.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", - "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==", + "dev": true, + "requires": { + "sver-compat": "^1.5.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + } + } + }, + "stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==", + "dev": true, + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", + "dev": true + }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==", + "dev": true, + "requires": { + "through2": "^2.0.3" + } + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true + }, + "undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==", + "dev": true + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", + "dev": true, + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yargs": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "yargs-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } } } } diff --git a/package.json b/package.json index 49347b6..ec9298a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "@brunogasparetto/fluig-declaration-type", - "version": "1.0.1", + "name": "fluig-declaration-type", + "version": "1.2.0", "description": "Fluig decaration types", "types": "fluig.d.ts", "scripts": { @@ -19,9 +19,8 @@ "url": "https://github.com/brunogasparetto/fluig-declaration-type/issues" }, "homepage": "https://github.com/brunogasparetto/fluig-declaration-type#readme", - "dependencies": { - "@types/jquery": "^3.5.5", - "@types/moment": "^2.13.0" - }, - "devDependencies": {} + "devDependencies": { + "gulp": "^4.0.2", + "gulp-concat": "^2.6.1" + } } diff --git a/src/commom.d.ts b/src/commom.d.ts new file mode 100644 index 0000000..c673035 --- /dev/null +++ b/src/commom.d.ts @@ -0,0 +1,3 @@ +declare namespace com.totvs.technology.foundation.sdk.service.vo.common { + declare class OrderParam {} +} diff --git a/src/fluig/dataset.d.ts b/src/fluig/dataset.d.ts new file mode 100644 index 0000000..d491fec --- /dev/null +++ b/src/fluig/dataset.d.ts @@ -0,0 +1,278 @@ +/** + * Tipos de campo de um Dataset + * + * Usado na criação do Dataset, na função defineStructure. + */ +enum DatasetFieldType { + NUMBER, + STRING, + TEXT, + DATE, + BOOLEAN, +} + +/** + * Cria uma coluna no dataset sincronizado + */ +declare function addColumn(coluna: string, tipo?: DatasetFieldType); + + /** + * Cria a chave principal do dataset sincronizado + * + * Para uso dos métodos updateRecord, deleteRecord e addOrUpdate do dataset sincronizado. + */ +declare function setKey(chaves: string[]): void; + + /** + * Cria um ou mais índices para maior performance na consulta do dataset sincronizado + */ +declare function addIndex(indices: string[]): void; + +/** + * Tipos de Filtros (constraint) + * + * Usado para criar os filtros que serão repassados ao método getDataset. + * Usar nos eventos do Fluig ou na criação de Dataset customizado. + */ +enum ConstraintType { + /** + * Filtro: Deve Conter + * + * Interprete como o E lógico + */ + MUST, + + /** + * Filtro: Pode Conter + * + * Interprete como OU lógico + */ + SHOULD, + + /** + * Filtro: Não Deve Conter + */ + MUST_NOT, +} + +declare class Dataset { + const rowsCount: number; + + /** + * Retorna o valor de uma coluna (campo) em determinada linha (índice) + */ + getValue(linha: number, coluna: string): string; + + /** + * Cria uma coluna no Dataset + * + * @example + * var dataset = DatasetBuilder().newDataset(); + * dataset.addColumn("coluna1"); + * dataset.addColumn("coluna2"); + * dataset.addRow(["valor coluna 1", "valor coluna 2"]); + */ + addColumn(coluna: string): void; + + /** + * Adicionar uma linha ao Dataset + * + * @example + * var dataset = DatasetBuilder().newDataset(); + * dataset.addColumn("coluna1"); + * dataset.addColumn("coluna2"); + * dataset.addRow(["valor coluna 1", "valor coluna 2"]); + */ + addRow(valores: string[]|object[]): void; + + /** + * Adiciona uma linha à coleção que será persistida no cache de sincronização. + * + * Através dos campos da chave principal do Dataset (setKey) os registros + * serão localizados e alterados conforme os dados enviados pela função. + * + * Esta função só funciona se implementado na função onSync. + * + * @example + * var dataset = DatasetBuilder.newDataset(); + * dataset.addColumn("Coluna1"); + * dataset.addColumn("Coluna2"); + * dataset.updateRow(["Valor coluna 1", "Valor coluna 2"]); + */ + updateRow(valores: string[]|object[]): void; + + /** + * Adiciona uma linha à coleção que será persistida no cache de sincronização. + * + * Caso o registro não exista ele será criado na base, caso contrário será atualizado. + * + * Através dos campos da chave principal do Dataset (setKey) os registros + * serão localizados e alterados conforme os dados enviados pela função. + * + * Esta função só funciona se implementado na função onSync. + * + * @example + * var dataset = DatasetBuilder.newDataset(); + * dataset.addColumn("Coluna1"); + * dataset.addColumn("Coluna2"); + * dataset.addOrUpdateRow(["Valor coluna 1", "Valor coluna 2"]); + */ + addOrUpdateRow(valores: string[]|object[]): void; + + /** + * Adiciona uma linha à coleção que eliminará esses registros no cache de sincronização. + * + * Através dos campos da chave principal do Dataset (setKey) os registros + * serão localizados e alterados conforme os dados enviados pela função. + * + * Esta função só funciona se implementado na função onSync. + * + * @example + * var dataset = DatasetBuilder.newDataset(); + * dataset.addColumn("Coluna1"); + * dataset.addColumn("Coluna2"); + * dataset.deleteRow(["Valor coluna 1", "Valor coluna 2"]); + */ + deleteRow(valores: string[]|object[]): void; +} + +/** + * Resultado de uma consulta ao Dataset usando o WCM + * + * Disponível somente nas páginas que usam o arquivo /webdesk/vcXMLRPC.js. + */ +interface DatasetWcmResult { + /** + * O nome das colunas + */ + columns: string[]; + + /** + * As propriedades do objeto são os nomes das colunas + */ + values: object[]; +} + +/** + * Indicativo das restrições ao sincronizar dados em Mobile + */ +interface DatasetMobileSync { + /** + * As colunas (em letras maiúsculas) a serem salvas no Mobile + */ + fields: string[]; + + /** + * Os filtros adicionais + */ + constraints: Constraint[]; + + /** + * Campos da ordenação + */ + sortFields: string[]; +} + +/** + * Formato de Callback para consulta assíncrona ao Dataset usando o WCM + * + * Disponível somente nas páginas que usam o arquivo /webdesk/vcXMLRPC.js. + */ +interface DatasetWcmCallback { + /** + * Função que será executada em caso de sucesso + */ + success: function (DatasetWcmResult); + + /** + * Função que será executada em caso de falha + * + * @param jqXHR Objeto da JQuery + * @param textStatus + * @param errorThrown + */ + error: function (object, string, string): void; +} + +declare class Constraint { + fieldName: string; + initialValue: string; + finalValue: string; + constraintType: ConstraintType; + + /** + * Indica que a constraint fará uma busca usando LIKE ao invés de = + */ + setLikeSearch(likeSearch: boolean): void; + + getFieldName(): string; + getInitialValue(): string; + getFinalValue(): string; +} + +/** + * Funções para manipulação de Dataset + */ +declare namespace DatasetFactory { + /** + * Retorna o nome dos datasets disponíveis + * + * Para usar no HTML de formulário o arquivo vcXMLRPC.js precisa ser declarado: + */ + declare function getAvailableDatasets(): string[]; + + /** + * Cria uma constraint para ser usada no método getDataset + * + * Para usar no HTML de formulário o arquivo vcXMLRPC.js precisa ser declarado: + * Para fazer uma pesquisa usando LIKE pelo formulário deve-se passar true no parâmetro searchLike ao invés de usar o método + * setLikeSearch do objeto Constraint. + */ + declare function createConstraint(fieldName: string, initialValue: string, finalValue: string, constraintType: ConstraintType): Constraint; + declare function createConstraint(fieldName: string, initialValue: string, finalValue: string, constraintType: ConstraintType, searchLike: boolean): Constraint; + + /** + * Pesquisa os dados de um dataset + * + * Para usar no HTML de formulário o arquivo vcXMLRPC.js precisa ser declarado: + * + * @param nomeDataset O nome do Dataset. + * @param campos Os campos que serão retornados. + * @param constraints Os filtros aplicados ao dataset. + * @param ordem Os campos que farão a ordenação do resultado. Pode-se acrescentar ;desc ao nome do campo para ordenar de forma decrescente. + * + * @example + * var constraints = [ + * DatasetFactory.createConstraint("colleaguePK.colleagueId", "adm", "adm", ConstraintType.MUST_NOT), + * DatasetFactory.createConstraint("valor", "100", "999", ConstraintType.MUST) + * ]; + * var dataset = DatasetFactory.getDataset("colleague", ["colleagueName"], constraints); + */ + declare function getDataset(nomeDataset: string, campos?: string[], constraints?: Constraint[], ordem?: string[]): Dataset; + + /** + * Pesquisa os dados de um dataset de forma assíncrona + * + * Disponível somente nas páginas que usam o arquivo /webdesk/vcXMLRPC.js. + * + * @example + * var constraints = [ + * DatasetFactory.createConstraint("colleaguePK.colleagueId", "adm", "adm", ConstraintType.MUST_NOT), + * DatasetFactory.createConstraint("valor", "100", "999", ConstraintType.MUST) + * ]; + * var dataset = DatasetFactory.getDataset("colleague", ["colleagueName"], constraints); + */ + declare function getDataset(nomeDataset: string, campos?: string[], constraints?: Constraint[], ordem?: string[], callback: DatasetWcmCallback): void; +} + +/** + * Funções para criação de Dataset + */ +declare namespace DatasetBuilder { + /** + * Cria um Dataset + * + * Usar somente ao criar datasets customizados. + */ + declare function newDataset(): Dataset; +} diff --git a/src/fluig/document.d.ts b/src/fluig/document.d.ts new file mode 100644 index 0000000..4680e83 --- /dev/null +++ b/src/fluig/document.d.ts @@ -0,0 +1,407 @@ +/** + * Tipos de Documento + * + * Esse enum não existe no Fluig e foi criado somente para + * facilitar a identificação dos tipos de documento. + * + * No Fluig utilize somente os valores ao fazer as comparações. + */ +enum DocumentTypeEnum { + PASTA_RAIZ = '0', + PASTA = '1', + DOCUMENTO_NORMAL = '2', + DOCUMENTO_EXTERNO = '3', + FORMULARIO = '4', + FICHA = '5', + ANEXO_WORKFLOW = '7', + NOVO_CONTEUDO = '8', + APLICATIVO = '9', + RELATORIO = '10', + PASTA_SOCIAL = '15', + SITE = 'portal', + PAGINA_DE_SITE = 'portalPage', +} + +/** + * Entidade Documento Relacionado + */ +declare class RelatedDocumentDto { + + /** + * Retorna o número do documento + * + * Usar em eventos do Fluig. + */ + getDocumentId(): number; + + /** + * Retorna o número do documento relacionado + * + * Usar em eventos do Fluig. + */ + getRelatedDocumentId(): number; + + /** + * Retorna a versão do documento + * + * Usar em eventos do Fluig. + */ + getVersion(): number; + + /** + * Retorna o código da empresa em que o documento foi publicado + * + * Usar em eventos do Fluig. + */ + getCompanyId(): number; +} + +/** + * Funções relacionadas a Documentos + * + * Usar em qualquer evento. + */ +declare namespace docAPI { + /** + * Copia os arquivos físicos de um documento existente para a área de upload do usuário logado + * @returns Nomes dos arquivos que foram disponibilizados na área de upload + */ + declare function copyDocumentToUploadArea(documentId: number, version: number): string[]; +} + +/** + * Entidade Aprovador + */ +declare class ApproverDto { + + /** + * Pega o número do aprovador + */ + getapproverId(): number; + + /** + * Pega a versão do aprovador + */ + getVersion(): number; + + /** + * Pega o código da empresa na qual o aprovador foi publicado + */ + getCompanyId(): number; + + /** + * Pega a matrícula do colaborador que criou o aprovador + */ + getColleagueId(): number; + + /** + * Pega o tipo de aprovação Pode ser 0 para Colaborador ou 1 para Grupo + */ + getApproverType(): number; + + /** + * Pega o nível de aprovação no caso de aprovação em níveis + */ + getLevelId(): number; +} + +/** + * Entidade Documento para usar nos Eventos + */ +declare class DocumentDto { + + /** + * Pega o número do documento + */ + getDocumentId(): number; + + /** + * Pega a versão do documento + */ + getVersion(): number; + + /** + * Pega o código da empresa em que o documento foi publicado + */ + getCompanyId(): number; + + /** + * Pega o UUID do documento + */ + getUUID(): string; + + /** + * Pega o tipo do arquivo físico. Se retornar em branco ou nulo é um tipo desconhecido + */ + getDocumentTypeId(): string; + + /** + * Pega o código do idioma do documento + */ + getLanguageId(): string; + + /** + * Pega o código do ícone do documento + */ + getIconId(): number; + + /** + * Pega o código do assunto do documento + */ + getTopicId(): number; + + /** + * Pega a matrícula do colaborador que criou o documento + */ + getColleagueId(): string; + + /** + * Pega a descrição do documento + */ + getDocumentDescription(): string; + + /** + * Pega os comentários adicionais do documento + */ + getAdditionalComments(): string; + + /** + * Pega o caminho físico do documento + */ + getPhisicalFile(): string; + + /** + * Pega a data de criação do documento + */ + getCreateDate(): Date; + + /** + * Pega a data de aprovação do documento + */ + getApprovedDate(): Date; + + /** + * Pega a data da última modificação do documento + */ + getLastModifiedDate(): Date; + + /** + * Pega a data da última modificação do documento + */ + getExpirationDate(): Date; + + /** + * Pega o tipo do documento + */ + getDocumentType(): DocumentTypeEnum; + + /** + * Pega o número da pasta/formulário pai + */ + getParentDocumentId(): number; + + /** + * Pega o nome do arquivo físico principal e anexos + */ + getRelatedFiles(): number; + + /** + * Verifica se o documento está ativo + */ + getActiveVersion(): boolean; + + /** + * Pega a descrição da versão + */ + getVersionDescription(): string; + + /** + * Verifica se o documento permite download + */ + getDownloadEnabled(): boolean; + + /** + * Verifica se o documento está em aprovação + */ + getApproved(): boolean; + + /** + * Pega a data a partir que o documento poderá ser visualizado + */ + getValidationStartDate(): Date + + /** + * Pega a matrícula do colaborador que publicou o documento + */ + getPublisherId(): string; + + /** + * Pega a descrição da ficha para documento do tipo 5 + */ + getCardDescription(): string; + + /** + * Pega o formulário que foi usado como base para criação da ficha. + * + * Utilizado somente com documento do tipo 5. + */ + getDocumentPropertyNumber(): number; + + /** + * Pega a versão do formulário em que a ficha foi criada + */ + getDocumentPropertyVersion(): number; + + /** + * Pega o código da empresa em que o documento foi publicado + */ + getCompanyId(): number; + + /** + * Verifica se o documento/pasta está abaixo de pasta particular + */ + getPrivateDocument(): boolean; + + /** + * Pega a matrícula do colaborador onde o documento particular está alocado + */ + getPrivateColleagueId(): string; + + /** + * Verifica se o arquivo foi indexado + */ + getIndexed(): boolean; + + /** + * Pega a prioridade do documento + */ + getPriority(): number; + + /** + * Verifica se notifica os usuários que tenham esse assunto de interesse + */ + getUserNotify(): boolean; + + /** + * Verifica se o documento está expirado + */ + getExpires(): boolean; + + /** + * Pega o volume onde o documento foi publicado. Se estiver em branco foi no volume pai. + */ + getVolumeId(): string; + + /** + * Verifica se herda segurança do pai + */ + getInheritSecurity(): boolean; + + /** + * Verifica se atualiza as propriedades da cópia controlada + */ + getUpdateIsoProperties(): boolean; + + /** + * Pega a hora da última modificação em milissegundos + */ + getLastModifiedTime(): string; + + /** + * Verifica se o documento está na lixeira + */ + getDeleted(): boolean; + + /** + * Pega o documento do dataset se o documento é um formulário + */ + getDatasetName(): string; + + /** + * Pega as palavras-chave do documento. Cada palavra é separada por vírgula. + */ + getKeyWord(): string; + + /** + * Verifica se a versão/revisão é inalterável + */ + getImutable(): boolean; + + /** + * Verifica se o documento está em edição, para documento do tipo "Novo Conteúdo" + */ + getDraft(): boolean; + + /** + * Verifica se utiliza visualizador interno + */ + getInternalVisualizer(): boolean; + + /** + * Pega o tamanho físico do documento principal e anexos + */ + getPhisicalFileSize(): number; +}; + +/** + * Entidade Segurança do Documento + */ +declare class DocumentSecurityConfigDto { + + /** + * Pega o número do documento + */ + getDocumentId(): number; + + /** + * Pega a versão do documento + */ + getVersion(): number; + + /** + * Pega o código da empresa em que o documento foi publicado + */ + getCompanyId(): number; + + /** + * Pega a matrícula de um colaborador ou o código do grupo que está na segurança do documento + * + * É possível saber se vai retornar um colaborador ou um grupo pelo tipo da segurança. + * Retorna em branco quando o tipo é todos os usuários + */ + getAttributionValue(): string; + + /** + * Verifica se é uma permissão + * + * Se não é uma permissão é uma restrição. + */ + getPermission(): boolean; + + /** + * Verifica se lista o conteúdo + */ + getShowContent(): boolean; + + /** + * Pega o nível de permissão/restrição. + * + * Tipos de permissão/restrição: + * - -1: Sem permissão/restrição (nega acesso) + * - 0: Leitura + * - 1: Gravação + * - 2: Modificação + * - 3: Total + */ + getAttributionType(): number; + + /** + * Pega a sequência da permissão/restrição + */ + getSequence(): number; + + /** + * Verifica se ele utiliza a segurança desta versão nas demais + */ + getSecurityVersion(): boolean; +}; diff --git a/src/fluig/fluigApi.d.ts b/src/fluig/fluigApi.d.ts new file mode 100644 index 0000000..7e7e7e1 --- /dev/null +++ b/src/fluig/fluigApi.d.ts @@ -0,0 +1,168 @@ +/** + * Helper para acessar serviços do Fluig + */ + declare namespace fluigAPI { + /** + * Recupera serviço para tratar Notificações + */ + declare function getAlertService(): com.fluig.sdk.service.AlertService; + + /** + * Recupera serviço para tratar Artigos + */ + declare function getArticleService(): com.fluig.sdk.service.ArticleService; + + /** + * Recupera o serviço de autorização de cliente OAUTH + */ + declare function getAuthorizeClientService(): com.fluig.sdk.service.AuthorizeClientSdkService; + + /** + * Recupera o serviço para tratar Card Index + */ + declare function getCardIndexService(): com.fluig.sdk.service.CardIndexService; + + /** + * Recupera o serviço para tratar Cards + */ + declare function getCardService(): com.fluig.sdk.service.CardService; + + /** + * Recupera o serviço para tratar colaboradores + */ + declare function getCollaborationService(): com.fluig.sdk.service.CollaborationSDKService; + + /** + * Recupera serviço para tratar comentários + */ + declare function getCommentService(): com.fluig.sdk.service.CommentService; + + /** + * Recupera serviço para tratar Comunidades + */ + declare function getCommunityService(): com.fluig.sdk.service.CommunityService; + + /** + * Recupera o serviço para tratar Upload de arquivos + */ + declare function getContentFilesService(): com.fluig.sdk.service.ContentFilesService; + + /** + * Recupera o serviço para tratar Documentos + */ + declare function getDocumentService(): com.fluig.sdk.service.DocumentService; + + /** + * Recupera serviço para tratar Favoritos + */ + declare function getFavoritesService(): com.fluig.sdk.service.FavoritesService; + + /** + * Recupera o serviço do Filter + */ + declare function getFilterService(): com.fluig.sdk.service.FilterAPIService; + + /** + * Recupera o serviço para tratar Pastas de documentos + */ + declare function getFolderDocumentService(): com.fluig.sdk.service.FolderDocumentService; + + /** + * Recupera serviço para tratar parâmetros gerais + */ + declare function getGlobalParameterService(): com.fluig.sdk.service.GlobalParameterService; + + /** + * Recupera o serviço para tratar grupo + */ + declare function getGroupService(): com.fluig.sdk.service.GroupService; + + declare function getHelpService(): com.fluig.sdk.service.DocumentationProxyServiceService; + + /** + *Recupera o serviço para tratar feriados + */ + declare function getHolidayService(): com.fluig.sdk.service.HolidayAPIService; + + /** + * Recupera serviço para tratar linguagem + */ + declare function getI18NService(): com.fluig.sdk.service.I18NService; + + declare function getIdentityService(): com.fluig.sdk.service.IdentityService; + + /** + * Recupera serviço para Jobs do agendador de tarefas + */ + declare function getJobService(): com.fluig.sdk.service.JobService; + + /** + * Recupera o LocalAPIService + */ + declare function getLocalService(): com.fluig.sdk.service.LocalAPIService; + + /** + * Recupera serviço para tratar páginas + */ + declare function getPageService(): com.fluig.sdk.service.PageService; + + /** + * Recupera serviço para tratar página de widgets + */ + declare function getPageWidgetService(): com.fluig.sdk.service.PageWidgetService; + + /** + * Recupera serviço para tratar Post + */ + declare function getPostService(): com.fluig.sdk.service.PostService; + + /** + * Recupera serviço para efetuar pesquisas + */ + declare function getSearchService(): com.fluig.sdk.service.SearchService; + + /** + * Recupera o serviço de segurança + */ + declare function getSecurityService(): com.fluig.sdk.service.SecurityService; + + /** + * Recupera serviço para tratar Breadcrumb do Social + */ + declare function getSocialBreadcrumbService(): com.fluig.sdk.service.SocialBreadcrumbService; + + /** + * Recupera serviço do social + */ + declare function getSocialService(): com.fluig.sdk.service.SocialSDKService; + + /** + * Recupera o serviço de TagsCloud + */ + declare function getTagsCloudService(): com.fluig.sdk.service.TagsCloudService; + + /** + * Recupera serviço para tratar Tasks + */ + declare function getTasksService(): com.fluig.sdk.service.TasksService; + + /** + * Recupera o serviço para Tenant + */ + declare function getTenantService(): com.fluig.sdk.service.TenantService; + + /** + * Recupera o serviço para tratar Usuário + */ + declare function getUserService(): com.fluig.sdk.service.UserService; + + /** + * Recupera o serviço de widgets + */ + declare function getWidgetService(): com.fluig.sdk.service.WidgetService; + + /** + * Recupera o serviço para tratar Workflow + */ + declare function getWorkflowService(): com.fluig.sdk.service.WorkflowAPIService; +} diff --git a/src/fluig/fluigc.d.ts b/src/fluig/fluigc.d.ts new file mode 100644 index 0000000..3f50f33 --- /dev/null +++ b/src/fluig/fluigc.d.ts @@ -0,0 +1,1093 @@ +declare type ErrorCallback = (error: ErrorData, data: object) => void; +declare type AutoCompleteOnTagCallback = (item: object, tag: object) => void; +declare type SimpleCallback = () => void; +declare type DataCallback = (data: object) => void; + +/** + * Callback de Modal + * + * @param error Indica se houve erro + * @param data Todo o conteúdo da propriedade content da modal + */ +declare type ModalCallback = (error: boolean, data: string) => void; + +/** + * Callback de Inicialização do Botão Switch + * + * @param event Evento disparado + * @this HTMLElement + */ +declare type SwitchInitCallback = (event: JQuery.Event) => void; + + /** + * Callback de mudança de estado do Botão Switch + * + * @param event Evento disparado + * @param checked Indica se está selecionado + * @this HTMLElement + */ +declare type SwitchChangeCallback = (event: JQuery.Event, checked: boolean) => void; + +/** + * Callback da mensagem de Confirmação + * + * @param result Resultado da confirmação (True se clicou em Sim) + * @param element Botão clicado + * @param data Evento disparado + */ +declare type ConfirmCallback = (result: boolean, element: HTMLElement, event: Event) => void; + +/** + * Callback de mensagem + * + * @param element Botão clicado + * @param data Evento disparado + */ +declare type MessageCallback = (element: HTMLElement, event: Event) => void; + +interface AutoCompleteOptions { + /** + * Tipo do autocomplete + * + * Pode ser (padrão é tag): + * - autocomplete + * - tag + * - tagAutocomplete + */ +    type?: string; + + /** + * Item exibido na sugestão + * + * Obrigatório para autocomplete e tagAutocomplete + */ +    displayKey?: string; + + /** + * Nome do dataset + * + * Opcional para autocomplete e tagAutocomplete + */ +    name?: string; + + /** + * Determina o serviço utilizado para buscar as sugestões + */ + source: { +        url: string; +        limit: 10, +        offset: 0, +        limitKey: string; +        patternKey: string; +        root: string; +    }; + + /** + * Coloca o texto em negrito quando efetua a busca + */ + highlight?: boolean; + + /** + * Mínimo de caracteres antes de iniciar a busca + */ +    minLength?: number; + + /** + * Se falso não exibirá as opções retornadas da busca + */ +    hint?: boolean; + + /** + * Tempo limite para obter um resultado da busca + */ +    searchTimeout?: number; + + /** + * Nome da classe utilizada na tag + */ +    tagClass?: string; + + /** + * Máximo de tags permitidas para selecionar + */ +    maxTags?: number; + + /** + * Permite selecionar a mesma tag várias vezes + */ +    allowDuplicates?: boolean + + /** + * Evento disparado quando tentar adicionar uma tag repetida + */ +    onTagExists?: AutoCompleteOnTagCallback; + + /** + * Evento disparado ao atingir o limite de tags + */ +    onMaxTags?: AutoCompleteOnTagCallback; + + /** + * Largura máxima da tag + */ +    tagMaxWidth?: number; + + /** + * Template da dica + */ +    templates?: { +        tag: string; +        suggestion: string; +    }; +     + /** + * Objeto com o CSS para formatar uma tag removida + */ +    tagRemoveCss?: { + [property: string]: string; +    }; + +} + +interface AutoCompleteTag { + description: string; +} + +declare class AutoComplete { + /** + * Adiciona uma tag + * + * Método para os tipos tag e tagAutocomplete + */ + add(tag: AutoCompleteTag): void; + + /** + * Atualiza uma tag para o tipo tag ou tagAutocomplete + * + * Método para os tipos tag e tagAutocomplete + */ + update(tag: AutoCompleteTag): void; + + /** + * Remove uma tag para o tipo tag ou tagAutocomplete + * + * Método para os tipos tag e tagAutocomplete + */ + remove(tag: AutoCompleteTag): void; + + /** + * Remove todas as tags + * + * Método para os tipos tag e tagAutocomplete + */ + removeAll(): void; + + /** + * Retorna todas as tags + * + * Método para os tipos tag e tagAutocomplete + */ + items(): AutoCompleteTag[]; + + /** + * Abre a caixa de seleção + * + * Método para o tipo autocomplete + */ + open(): void; + + /** + * Fecha a caixa de seleção + * + * Método para o tipo autocomplete + */ + close(): void; + + /** + * Pega o valor do elemento + * + * Método para o tipo autocomplete + */ + val(): string; + + /** + * Atribui um valor ao elemento + * + * Método para o tipo autocomplete + */ + val(value: string): void; + + + /** + * Coloca o foco no autocomplete + */ + focus(): void; + + /** + * Pega o elemento input do autocomplete + */ + input(): HTMLElement; + + /** + * Atualiza o autocomplete + * + * Útil para quando fizer mudanças manuais no elemento. + */ + refresh(): void; + + /** + * Destrói o autocomplete + */ + destroy(): void; +} + +interface FilterSourceSettings { + /** + * URL que trará os dados + */ + url: string, + + /** + * Tipo do conteúdo retornado. Ex: application/json + */ + contentType: string, + root: string, + pattern: string, + limit: number, + offset: number, + patternKey: string, + limitKey: string, + offsetKey: string +} + +interface FilterStyleSettings { + /** + * The selector for the autocomplete tag template. + */ + templateTag?: string, + + /** + * The selector for the autocomplete suggestion template. + */ + templateSuggestion?: string, + + /** + * The selector for the autocomplete tip message template. + */ + templateTipMessage?: string, + + /** + * Class name for the tags. Padrão é tag-gray + */ + autocompleteTagClass?: string, + + /** + * CSS class used to table selected lines. + */ + tableSelectedLineClass?: string, + + /** + * Receives the waiting time to make the request. This is important not to open a request for each character typed. + */ + tableStyle?: string, + + /** + * Defines a CSS class to apply to the table. Padrão é fluigicon-zoom-in + * + * Ex .: 'table-hover table-bordered table-striped'. + */ + filterIconClass?: string +} + +interface FilterTableSettings { + header: FilterTableHeader[], + + /** + * Pode ser um array de chaves do objeto ou a classe CSS do template mustache. + * + * A sequência do array deve ser a mesma de header. + */ + renderContent: string|string[], + formatData?: function +} + +interface FilterTableHeader { + /** + * Título da coluna + */ + title?: string, + + /** + * Atributo do objeto que será utilizado para ordenar essa coluna. Padrão é vazio. + * + * Caso não seja passado utilizará o conteúdo padrão da coluna que foi + * indicado em renderContent da tabela. + */ + dataorder?: string, + + /** + * Indica se será a coluna ordenada por padrão. Padrão é false. + */ + standard?: boolean, + + /** + * Tamanho visual da coluna. Utiliza uma das classes CSS col- + */ + size?: string, + + /** + * Indica se a coluna deverá ser exibida. Padrão é true + */ + display?: boolean +} + +interface FilterSettings { + /** + * Campo que será exibido ao selecionar um valor + */ + displayKey: string, + + /** + * Configuração da fonte de dados + */ + source: FilterSourceSettings, + + /** + * Configuração da Tabela de exibição dos itens + */ + table: FilterTableSettings, + + /** + * Configuração dos estilos + */ + style?: FilterStyleSettings, + + /** + * Altura da tabela (preferencialmente em px). Padrão: 260px + */ + tableHeight?: string, + + /** + * Permite múltiplas seleções? Padrão: false + */ + multiSelect?: boolean, + + /** + * Tempo limite (em ms) da busca na fonte de dados. Padrão 200ms + */ + searchTimeout?: number, + + /** + * Quantidade mínima de caracteres antes de iniciar a busca. Padrão 1 + */ + minLength?: number, + + /** + * Limite de caracteres exibidos no item selecionado. Padrão: 200 + */ + tagMaxWidth?: number +} + +interface ToastSettings { + /** + * Título do Toast. Diferença é que fica em negrito. + */ + title?: string, + + /** + * Mensagem repassada + */ + message?: string, + + /** + * Tipos possíveis: success, danger, info and warning + * Padrão: success + */ + type?: string, + + /** + * Tempo, em milissegundos, ou as strings slow ou fast. + * + * O tempo padrão são 4000 milissegundos. + * slow representa 2000 e fast representa 6000. + * + * O Toast do tipo danger ignora o timeout. + */ + timeout?: number|string +} + +declare class FluigcFilter { + getSelectedItems(): object[]; + add(item: object): void; + removeAll(): void; + + /** + * Escuta eventos do filtro. + * + * Importante: não coloque mais de um filtro em um mesmo pai, pois os eventos + * serão escutados por todos os filtros irmãos. + * + * O filtro dispara os seguintes eventos: + * - fluig.filter.load.complete => quando o filtro termina de carregar + * - fluig.filter.item.added => quando um item é selecionado/adicionado + * + * @param event + * @param callback + */ + on(event: string, callback: SimpleCallback|DataCallback): void; +} + +declare class FluigcModal { + /** + * Remove (fecha) a Modal + */ + remove(): void; + + /** + * Indica se a Modal está visível + */ + isOpen(): boolean; +} + +/** + * Configuração dos botões da Modal + */ +interface ModalActionSettings { + /** + * Rótulo exibido + */ + label: string; + + /** + * Evento ouvido em bindings.global da SuperWidget + * + * Precisa ter o prefixo data- + * Exemplo de valor: data-save-settings + */ + bind?: string; + + /** + * Estilo utilizado no botão + * + * Por padrão o primeiro botão recebe btn-primary + * e os demais recebem btn-default + */ + classType?: string; + + /** + * Indica se o botão fechará a Modal + * + * Por padrão é false. + * + * IMPORTANTE: se for true ele não executará o bind registrado. + */ + autoClose?: boolean; +} + +/** + * Configurações da Mensagem de Confirmação + */ +interface ConfirmSettings { + /** + * Título + */ + title: string; + + /** + * Mensagem + */ + message: string; + + /** + * Texto do Botão Sim + * + * Padrão: Sim + */ + labelYes?: string; + + /** + * Texto do Botão Não + * + * Padrão: Não + */ + labelNo?: string; +} + +/** + * Configurações da Mensagem de Alerta + */ +interface AlertSettings { + /** + * Título + */ + title: string; + + /** + * Mensagem + */ + message: string; + + /** + * Texto do Botão Ok + * + * Padrão: OK + */ + label?: string; +} + +/** + * Configurações da Mensagem de Erro + */ +interface ErrorSettings { + /** + * Título + */ + title: string; + + /** + * Mensagem + */ + message: string; + + /** + * Detalhes do erro + * + * Pode quebrar linha utilizando \n + */ + details: string; +} + +/** + * Configurações da Modal + */ +interface ModalSettings { + /** + * Título exibido na modal + */ + title: string; + + /** + * Conteúdo da Modal + * + * Pode ser uma string HTML, template Mustache + * ou retorno de uma chamada a WCMAPI.convertFtlAsync + */ + content: string; + + /** + * ID da Modal + * + * Por padrão é fluig-modal. + * A cada chamada o elemento HTML da modal é construído e + * então destruído quando a modal é fechada. + */ + id?: string; + + /** + * Tamanho da Modal + * + * Pode ser: small | large | full + */ + size: string; + + /** + * Botões da Modal + */ + actions: ModalActionSettings[]; +} + +interface CalendarSettings { + /** + * Indica se exibirá a seleção de Data. Padrão true. + */ + pickDate?: boolean; + + /** + * Indica se exibirá a seleção de Tempo. Padrão false. + */ + pickTime?: boolean; + + /** + * Indica se usará minutos. Padrão true. + */ + useMinutes?: boolean; + + /** + * Indica se usará segundos. Padrão true. + */ + useSeconds?: boolean; + + /** + * Indica se selecionará automaticamente a data corrente. Padrão true + */ + useCurrent?: boolean; + + /** + * Valor a incrementar os minutos quando clicar nas setas de subir/descer + */ + minuteStepping?: number; + + /** + * Define uma data mínima selecionável + */ + minDate?: string; + + /** + * Define a data máxima selecionável + */ + maxDate?: string; + + /** + * Exibe o indicador do dia de hoje + */ + showToday?: boolean; + + /** + * Código do idioma. Padrão pt-br + */ + language?: string; + + /** + * Data padrão + * + * Aceita também data da Moment.js + */ + defaultDate?: string|Date; + + /** + * Datas que não podem ser selecionadas + * + * Aceita também data da Moment.js + */ + disabledDates?: string[]|Date[]; + + /** + * Únicas datas que podem ser selecionadas + * + * Aceita também data da Moment.js + */ + enabledDates?: string[]|Date[]; + + /** + * Use "strict" quando validar datas. Padrão false + */ + useStrict?: boolean; + + /** + * Exibe a seleção de Tempo ao lado da seleção de Data. Padrão false. + */ + sideBySide?: boolean; + + /** + * Dias da semana que não pode ser selecionados + * + * Dia da semana inicia em 0, para domingo. + */ + daysOfWeekDisabled?: number[]; +} + +declare class Calendar { + /** + * Configura a data mínima que pode ser selecionada + * + * @param date Data como string (formato pt-br), Date ou moment + */ + setMinDate(date: string|Date): void; + + /** + * Configura a data máxima que pode ser selecionada + * + * @param date Data como string (formato pt-br), Date ou moment + */ + setMaxDate(date: string|Date): void; + show(): void; + disable(): void; + enable(): void; + + /** + * Atribui a data selecionada + * + * @param date Data como string (formato pt-br), Date ou moment + */ + setDate(date: string|Date): void; + + /** + * Pega a data como objeto moment (da lib momentjs) + */ + getDate(): any; +} + +interface LoadingSettings { + /** + * Mensagem exibida + * + * Padrão: "Loading..." + */ + textMessage?: string, + + /** + * Título exibido quando theme == true + * + * Padrão: "" + */ + title?: string, + + /** + * Estilo para o bloco de carregamento + * + * Objeto CSS aceito pela JQuery. + * + * Padrão: null + */ + css?: object, + + /** + * Estilo para o overlay + * + * Objeto CSS aceito pela JQuery. + * + * Padrão: null + */ + overlayCSS?: object, + + /** + * Estilo para o cursor antes de bloquear + * + * Padrão: "" + */ + cursorReset?: string, + + /** + * Índice Z-Index + * + * Padrão: null + */ + baseZ?: number, + + /** + * Indica se será centralizado na tela + * + * Padrão: true + */ + centerX?: boolean, + + /** + * Indica se será centralizado na tela + * + * Padrão: true + */ + centerZ?: boolean, + + /** + * Desabilita eventos de teclado e mouse + * + * Padrão: true + */ + bindEvents?: boolean, + + /** + * Tempo, em ms, do efeito de transição no bloqueio + * + * Se for 0 não terá efeito de transição. + */ + fadeIn?: number, + + /** + * Tempo, em ms, do efeito de transição no desbloqueio + * + * Se for 0 não terá efeito de transição. + */ + fadeOut?: number, + + /** + * Tempo, em ms, para aguardar antes de desbloquear + * + * Se for 0 vai desabilitar o auto desbloqueio. + */ + timeout?: number, + + /** + * Indica se será exibido o overlay + * + * Padrão: true + */ + showOverlay?: boolean, + + /** + * Função para ser executado após o efeito de transição do bloqueio + */ + onBlock?: SimpleCallback, + + /** + * Função para ser executado após o efeito de transição do desbloqueio + * + * O elemento desbloqueado será passado à função. + */ + onUnBlock?: DataCallback, + + /** + * Indica se vai ignorar um bloqueio quando já está bloqueado + * + * Padrão: false + */ + ignoreIfBlocked?: boolean +} + +declare class Loading { + /** + * Exibe a tela de carregamento + */ + show(): void; + + /** + * Esconde a tela de carregamento + */ + hide(): void; +} + +declare namespace FLUIGC { + /** + * Cria um campo com auto-complete + * + * Eventos disponíveis para autocomplete: + * - fluig.autocomplete.cursorchanged + * - fluig.autocomplete.opened + * - fluig.autocomplete.closed + * - fluig.autocomplete.selected + * - fluig.autocomplete.autocompleted + * - fluig.autocomplete.beforeItemAdd + * - fluig.autocomplete.itemAdded + * - fluig.autocomplete.beforeItemUpdate + * - fluig.autocomplete.itemUpdated + * - fluig.autocomplete.beforeItemRemove + * - fluig.autocomplete.itemRemoved + * + * @param target Seletor utilizado na JQuery + * @param options Opções adicionais para o autocomplete + * @param callback Função executada após trazer as respostas para o auto-complete + */ + declare function autocomplete(target: string, options: AutoCompleteOptions, callback: ErrorCallback): AutoComplete; + + /** + * Cria um campo filter em um select (é o Zoom feito manualmente) + * + * Para usar em formulário deve-se incluir o css /style-guide/css/fluig-style-guide-filter.min.css + * e o script /style-guide/js/fluig-style-guide-filter.min.js + * + * Para usar em Widget deve-se incluir a instrução application.resource.component.1=fluigfilter + * (substituindo o 1 por um valor ainda não utilizado) no arquivo application.info + * + * @param target Seletor utilizado na JQuery + * @param settings Configurações do filtro + */ + declare function filter(target: string, settings: FilterSettings): FluigcFilter; + + /** + * Cria uma caixa de seleção para tratar data e horário + * + * @param target Seletor utilizado na JQuery + * @param settings Configurações do calendário + */ + declare function calendar(target: string, settings: CalendarSettings): Calendar; + + /** + * Exibe uma mensagem simples no topo da página. + * + * Muito utilizado para substituir alert do JS. + */ + declare function toast(settings: ToastSettings): void; + + /** + * Cria uma tela de carregamento em elemento específico ou na janela inteira + * + * Caso o objeto window seja passado a tela de carregamento ocupará a janela inteira. + * + * @param selector Uma string com seletor JQuery ou objeto window + * @param settings Configurações possíveis para o Loading + */ + declare function loading(selector: string|Window, settings: LoadingSettings): Loading; + + /** + * Cria uma Modal + * + * @param settings Configurações + * @param callback Função para executar após a criação da modal + */ + declare function modal(settings: ModalSettings, callback: ModalCallback): FluigcModal; +} + +/** + * Botão Switch + * + * @see https://style.fluig.com/javascript.html#switch-button + */ +declare namespace FLUIGC.switcher { + + /** + * Transforma um checkbox ou radio em um botão switch + * + * Ao inicializar o botão switch será feita a leitura das opções + * do elemento HTML (os atributos do checkbox ou radio) para orientar + * como o botão deve ser. + * + * As opções no checkbox/radio são: + * + * | Atributo | Valores | Padrão | + * |----------|---------|--------| + * | checked | true, false | false | + * | data-size | null, 'mini', 'small', 'normal', 'large' | null| + * | data-animate | true, false | true| + * | disabled | true, false | false| + * | readonly | true, false | false| + * | data-on-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'primary'| + * | data-off-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'default'| + * | data-on-text | | 'ON'| + * | data-off-text | | 'OFF'| + * + * @tutorial https://style.fluig.com/javascript.html#switch-button + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function init(element: string|JQuery): void; + + /** + * Transforma todos os checkbox e radio de um container em botões switch + * + * Ao inicializar o botão switch será feita a leitura das opções + * do elemento HTML (os atributos do checkbox ou radio) para orientar + * como o botão deve ser. + * + * As opções no checkbox/radio são: + * + * | Atributo | Valores | Padrão | + * |----------|---------|--------| + * | checked | true, false | false | + * | data-size | null, 'mini', 'small', 'normal', 'large' | null| + * | data-animate | true, false | true| + * | disabled | true, false | false| + * | readonly | true, false | false| + * | data-on-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'primary'| + * | data-off-color | 'primary', 'info', 'success', 'warning', 'danger', 'default' | 'default'| + * | data-on-text | | 'ON'| + * | data-off-text | | 'OFF'| + * + * @tutorial https://style.fluig.com/javascript.html#switch-button + * + * @param parentElement Seletor JQuery, ou Objeto, do elemento pai + * @param fieldName Nome do input deve iniciar com o valor indicado + */ + declare function initAll(parentElement: string|JQuery, fieldName?: string): void; + + /** + * Pega o estado do botão + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function getState(element: string|JQuery): boolean; + + /** + * Configura o estado como checked + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function setTrue(element: string|JQuery): void; + + /** + * Configura o estado como false (não selecionado) + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function setFalse(element: string|JQuery): void; + + /** + * Alterna o estado do botão + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function toggleState(element: string|JQuery): void; + + /** + * Habilita o botão (remove disabled do checkbox/radio) + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function enable(element: string|JQuery): void; + + /** + * Desabilita o botão (coloca disabled no checkbox/radio) + * + * Cuidado: inputs desabilitados não são enviados pelo formulário. + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function disable(element: string|JQuery): void; + + /** + * Indica se é para o botão ser somente leitura + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function isReadOnly(element: string|JQuery, readOnly: boolean): void; + + /** + * Remove o botão switch + * + * @param element Seletor JQuery ou Objeto JQuery + */ + declare function destroy(element: string|JQuery): void; + + /** + * Evento disparado quando iniciar um botão Switch + * + * @param element Seletor JQuery ou Objeto JQuery + * @param callback Função executada ao disparar o evento + */ + declare function onInit(element: string|JQuery, callback: SwitchInitCallback): void; + + /** + * Evento disparado houver mudança de estado do botão Switch + * + * @param element Seletor JQuery ou Objeto JQuery + * @param callback Função executada ao disparar o evento + */ + declare function onChange(element: string|JQuery, callback: SwitchChangeCallback): void; +} + +declare namespace FLUIGC.message { + /** + * Cria uma Mensagem de Confirmação + * + * @param settings Configurações + * @param callback Função para executar após o usuário responder a confirmação + */ + declare function confirm(settings: ConfirmSettings, callback: ConfirmCallback): void; + + /** + * Cria uma Mensagem de Alerta + * + * @param settings Configurações + * @param callback Função para executar após o usuário fechar o alerta + */ + declare function alert(settings: AlertSettings, callback: MessageCallback): void; + + /** + * Cria uma Mensagem de Erro + * + * @param settings Configurações + * @param callback Função para executar após o usuário fechar o erro + */ + declare function error(settings: ErrorSettings, callback: MessageCallback): void; +} + +declare namespace FLUIGC.calendar { + /** + * Formata uma data em uma string de acordo com a formatação indicada. + * + * @see https://style.fluig.com/javascript.html#fluig-calendar + * + * @param date Data a ser formatada + * @param format Formatação + * @param language Idioma (padrão pt-br) + */ + declare function formatDate(date: Date, format: string, language?: string): string; +} diff --git a/src/fluig/form.d.ts b/src/fluig/form.d.ts new file mode 100644 index 0000000..94685b7 --- /dev/null +++ b/src/fluig/form.d.ts @@ -0,0 +1,157 @@ +/** + * Adiciona um Filho ao Pai + * + * @param {String} tableName Nome da tabela + * @returns {Number} Id do filho criado +*/ +declare function wdkAddChild(tableName: string): number; + +/** + * Disponibiliza diversas funções para manipulação do formulário + * + * Usar em eventos do formulário (que recebem form como parâmetro). + */ +declare class FormController { + + /** + * Retorna o ID da empresa + */ + getCompanyId(): number; + + /** + * Retorna o ID do documento (registro de formulário) + */ + getDocumentId(): number; + + /** + * Retorna a versão do documento (registro do formulário) + */ + getVersion(): number; + + /** + * Retorna o ID do formulário + */ + getCardIndex(): number + + /** + * Habilita/Desabilita a edição de um campo do formulário + */ + setEnabled(nomeCampo: string, habilita: boolean, protegido: boolean): void; + + /** + * Verifica se o campo do formulário está habilitado para edição + */ + getEnabled(nomeCampo: string): boolean; + + /** + * Atribui valor a um campo do formulário + */ + setValue(nomeCampo: string, valor: string): string; + + /** + * Pega o valor de um campo do formulário + */ + getValue(nomeCampo: string): string; + + /** + * Deixa o campo invisível buscando pelo nome do campo + */ + setVisible(nomeCampo: string, visible: boolean): void; + + /** + * Deixa o campo invisível buscando pelo ID do campo + */ + setVisibleById(idDoCampo: string, visible: boolean): void; + + /** + * Se habilitado os campos são exibidos como input readonly + */ + setShowDisabledFields(habilita: boolean): void; + + /** + * Se habilitado o link "imprimir" é ocultado + */ + setHidePrintLink(habilita: boolean): void; + + /** + * Se habilitado o botão "excluir" é ocultado + */ + setHideDeleteButton(habilita: boolean): void; + + /** + * Se definido como true todos os campos desabilitados não terão seus valores salvos + */ + setEnhancedSecurityHiddenInputs(proteger: boolean): void; + + /** + * Retorna o Modo do formulário. + * + * Tipos possíveis: + * - ADD: Criação + * - MOD: Edição + * - VIEW: Visualização + * - NONE: Não há comunicação com formulário. Ocorre no momento da validação dos campos, por exemplo. + */ + getFormMode(): string; + + /** + * Desabilita o botão de imprimir + */ + setHidePrintLink(hide: boolean): void; + + /** + * Retorna se o botão de imprimir está oculto + */ + isHidePrintLink(): boolean; + + /** + * Retorna os campos filhos, e seus valores, de uma tabela pai. + * + * Retorna um objeto com a propriedade sendo o nome do campo e seus valores. + */ + getChildrenFromTable(tableName: string): object; + + /** + * Retorna os índices dos campos filhos de uma tabela pai. + * + * @see https://tdn.totvs.com/pages/releaseview.action?pageId=270924158#EventosdeFormul%C3%A1rio-getChildrenIndexes + */ + getChildrenIndexes(tableName: string): number[]; + + /** + * Oculta o botão de apagar registro + */ + setHideDeleteButton(hide: boolean): void; + + /** + * Informa se o botão de apagar está oculto + */ + isHideDeleteButton(): boolean; + + /** + * Indica se está em mobile + */ + getMobile(): boolean; + + /** + * Indica se o campo está visível buscando pelo nome do campo + */ + isVisible(nomeCampo: string): boolean; + + /** + * Indica se o campo está visível buscando pelo ID do campo + */ + isVisibleById(id: string): boolean; +}; + +/** + * Disponibiliza funções para incluir conteúdo HTML no formulário + */ +declare class customHTML { + + /** + * Adiciona conteúdo no final do HTML do formulário + * @param html Conteúdo HTML a ser incluído + */ + append(html: string): void; +}; diff --git a/src/fluig/global.d.ts b/src/fluig/global.d.ts new file mode 100644 index 0000000..2aebe1d --- /dev/null +++ b/src/fluig/global.d.ts @@ -0,0 +1,127 @@ +interface ErrorData { + message?: string; + responseText: object; +} + +/** + * Constantes globais para usar no HTML de Processo / Formulário. + * + * O arquivo vcXMLRPC.js precisa ser declarado: + */ +declare namespace Global { + /** + * Último ID de um Filho (Cadastro Pai/Filho) + * + * Disponível quando o formulário possui um Pai/Filho padrão. + */ + const newId: number; + + /** + * Versão do Workflow. + * + * Só é preenchida em Processo + */ + const WKVersDef: string; + + /** + * ID da atividade atual do Workflow + * + * Só é preenchida em Processo + */ + const WKNumState: string; +} + +/** + * Permite a passagem de parâmetros entre os eventos do Workflow + */ +declare namespace globalVars { + + /** + * Insere um valor nos parâmetros gerais + */ + declare function put(name: string, value: object): void; + + /** + * Pega um valor dos parâmetros gerais + */ + declare function get(name: string): object +}; + + +/** + * Pega o valor das propriedades do Processo. + * + * Usar em eventos do processo e eventos de formulários de processo. + * @see https://tdn.totvs.com/pages/releaseview.action?pageId=270919174 + * + * Propriedades: + * - WKDef: Código do processo + * - WKVersDef: Versão do processo + * - WKNumProces: Número do processo + * - WKNumState: Número da atividade + * - WKCompany: Número da Empresa + * - WKUser: Usuário Corrente + * - WKUserComment: Texto com as observações feitas pelos usuários na atividade corrente + * - WKCompletTask: Indica se a tarefa foi completada ("true" / "false") + * - WKNextState: Número da próxima atividade (destino) + * - WKCardId: Código do registro de formulário do processo + * - WKFormId: Código do formulário do processo + * - WKIdentityCompany: Identificador da empresa selecionada para Experiências de uso TOTVS + * - WKMobile: Identifica se a ação foi realizada através de um dispositivo mobile + * - WKIsService: Identifica se a solicitação de cancelamento foi realizada através de um serviço. Esta variável só pode ser consultada nos eventos beforeCancelProcess e afterCancelProcess + * - WKUserLocale: Identifica o idioma corrente do usuário + * - WKManagerMode: Identifica se o processo está sendo movimentado pela visão do gestor do processo ou não. Só funciona no Workflow + * - WKReplacement: Código do usuário substituto + * - WKIsTransfer: Permite verificar se o usuário está ou não transferindo uma tarefa + * - + */ +declare function getValue(nomePropriedade: string): string; + +/** + * Funções para o envio de e-mail + */ +declare namespace notifier { + + /** + * Envia um e-mail personalizado + * + * @example + * var parameters = new java.util.HashMap(); + * parameters.put("subject", "Assunto"); + * parameters.put("NAME", "João"); + * parameters.put("CODE", "01"); + * + * var users = new java.util.ArrayList(); + * users.add("adm"); + * + * notifier.notify("adm", "mail1", parameters, users, "text/html"); + * + * @param fromId Matrícula do usuário que está enviando o e-mail + * @param templateId Código do template de e-mail + * @param parameters java.util.HashMap com os parâmetros do e-mail + * @param to java.util.ArrayList com os destinatários do e-mail + * @param mimeType Tipo do conteúdo do e-mail. Pode ser text/html ou text/plain + * + */ + declare function notify(fromId: string, templateId: string, parameters: java.util.HashMap, to: java.util.ArrayList, mimeType: string): void; +}; + + +/** + * Funções para o uso dos serviços (Progress) + * + * Usar em qualquer evento. + */ +declare namespace ServiceManager { + + /** + * Obtém o serviço especificado + * + * Normalmente utilizado para pegar o serviceHelper do serviço. + * + * @example + * var service = ServiceManager.getService("ems2_v10"); + * var serviceHelper = service.getBean(); + */ + declare function getService(serviceId: string): object; +}; diff --git a/src/fluig/hapi.d.ts b/src/fluig/hapi.d.ts new file mode 100644 index 0000000..3ed1220 --- /dev/null +++ b/src/fluig/hapi.d.ts @@ -0,0 +1,278 @@ +interface Task { + name: string; + + /** + * ID do usuário responsável + */ + responsible: string; + + /** + * Data no formato dd/mm/yyyy + */ + dueDate: string; +} + +/** + * Indica a Data e Hora de um prazo + */ +interface DeadLineDate { + /** + * Data no formato dd/mm/yyyy + */ + 0: string; + + /** + * Quantidade de segundos, a partir de 00:00:00, para alcançar determinada hora + */ + 1: number; +} + +/** + * Disponibiliza diversas funções para manipulação do processo + * + * Usar nos eventos do Processo. + */ +declare namespace hAPI { + /** + * Pega o valor de um campo do formulário + */ + declare function getCardValue(nomeCampo: string): string; + + /** + * Atribui valor a um campo do formulário + */ + declare function setCardValue(nomeCampo: string, valor: string): string; + + /** + * Adiciona um filho no formulário pai e filho do processo + * + * @param tableName Nome da tabela pai-filho + * @param cardData Mapa com os campos e valores + */ + declare function addCardChild(tableName: string, cardData: java.util.HashMap): void; + + /** + * Encaminha o processo para uma determinada atividade + * + * Deve ser usado para tomar decisões em atividades automáticas de listener (AutomaticTasks). + * + * @example + * var colaboradores = new java.util.ArrayList(); + * colaboradores.add("adm"); + * hAPI.setAutomaticDecision(2, colaboradores, "Decisão Automática"); + */ + declare function setAutomaticDecision(taskNumber: number, responsible: java.util.ArrayList, comment: string): void; + + /** + * Pega todas as threads em execução de um processo + * + * @example + * var threads = hAPI.getActiveStates(); + * log.info(threads.get(0)); + */ + declare function getActiveStates(): java.util.ArrayList; + + /** + * Pega o ID do processo Pai (caso de subprocesso) + * + * @param processInstanceId ID do processo + */ + declare function getParentInstance(processInstanceId: number): number; + + /** + * Pega uma lista dos processos que são filhos do processo indicado (subprocessos) + * + * @param processInstanceId ID do processo + */ + declare function getChildrenInstances(processInstanceId: number): java.util.List; + + /** + * Altera o prazo de uma atividade do processo + * + * @example + * var processo = new java.lang.Integer(getValue("WKNumProces")); + * var data = new java.text.SimpleDateFormat("dd/MM/yyyy").parse("10/10/2010"); + * hAPI.setDueDate(processo, 0, "adm", data, 0); + * // Define o prazo para Hoje ao meio dia + * hAPI.setDueDate(1, 0, "adm", new java.util.Date(), 12 * 60 * 60); + * + * @param processId ID do Processo + * @param numThread ID da Thread (geralmente 0). Usado para processos que possuem FORK + * @param userId ID do responsável pela atividade + * @param dueDate Data do prazo de encerramento + * @param tempoSegundos Quantidade de segundos, a partir de 00:00:00, para alcançar determinada hora + */ + declare function setDueDate(processId: number, numThread: number, userId: string, dueDate: Date, timeInSeconds: number): void; + + /** + * Transfere o processo atual para outro(s) colaborador(es). + * Usar em eventos do Processo. + * + * @example + * var colaboradores = new java.util.ArrayList(); + * colaboradores.add("adm"); + * hAPI.transferTask(colaboradores, "Tarefa Transferida", 0); + * + * @param users IDs dos usuários + * @param comment + * @param numThread ID da Thread. Normalmente 0 + */ + declare function transferTask(users: java.util.ArrayList, comment: string, numThread?: number = 0): void; + + /** + * Define uma observação para a atividade atual do processo. + * Usar em eventos do Processo. + * + * @param userId Matrícula do Colaborador + * @param processId ID do Processo + * @param threadId ID da Thread (geralmente 0). Usado para processos que possuem FORK. + * @param comment Comentário do processo para a atividade corrente + */ + declare function setTaskComments(userId: string, processId: number, threadId: number, comment: string): void; + + /** + * Retorna o valor de uma propriedade avançada do Processo. + * Usar em eventos do Processo. + */ + declare function getAdvancedProperty(nomePropriedade: string): string; + + + /** + * Retorna o HashMap com os valores do formulário do processo. + * Usar em eventos do Processo. + * + * Para um formulário Pai e Filho os campos são identificados da seguinte forma: + * campo1___1, sendo campo1 o nome atribuído ao campo através da tag do campo HTML + * +___(3 underlines) + número sequencial do registro. + * + * @example + * var card = declare function getCardData(getValue("WKNumProces")); + * log.info(card.get("campo1")); + */ + declare function getCardData(numProcesso: number): java.util.HashMap; + + /** + * Inicia uma nova instância de um processo. + * Usar em eventos do Processo. + * + * @example + * var colaboradores = new java.util.ArrayList(); + * colaboradores.add("adm"); + * var formData = new java.util.HashMap(); + * formData.put("nome_do_campo_1", "valor_do_campo_1"); + * var resposta = startProcess("Processo", 0, colaboradores, "Iniciado automaticamente", false, formData, false); + * var numProcessoCriado = resposta.get("iProcess"); + * + * @param processId Código do processo cadastrado no Fluig. + * @param taskNumber Número da atividade de inicio do processo. Pode ser informado 0. + * @param users Matrícula dos usuários que receberão a atividade. + * @param comment Comentário para a atividade do processo. + * @param taskFinished indica se a tarefa sera finalizada apás a criação do processo. + * @param form HashMap representando propriedade/valor dos campos do formulário do processo. + * @param managerMode indica se a tarefa sera inicializada com o modo gestor do Fluig ativo. + * @returns HashMap com informações referentes ao processo criado + */ + declare function startProcess(processId: string, taskNumber: number, users: java.util.ArrayList, comment?: string, taskFinished?: boolean, form?: java.util.HashMap, managerMode?: boolean): java.util.HashMap; + + /** + * Calcula um prazo + * + * Cálculo feito a partir de uma data, com base no expediente e feriados cadastrados no produto, + * passando o prazo em horas. + * + * Importante: a Data retornada é formatada no padrão dd/mm/yyyy + * + * @example + * var data = new Date(); + * var deadlineDate = hAPI.calculateDeadLineHours(data, 50000, 2, "Default"); + * var processo = getValue("WKNumProces"); + * hAPI.setDueDate(processo, 0, 'adm', deadlineDate[0], deadlineDate[1]); + */ + declare function calculateDeadLineHours(deadlineDate: Date, seconds: number, deadlineInHours: number, periodId: string): DeadLineDate; + + /** + * Calcula um prazo + * + * Cálculo feito a partir de uma data, com base no expediente e feriados cadastrados no produto, + * passando o prazo em segundos. + * + * Importante: a Data retornada é formatada no padrão dd/mm/yyyy + * + * @example + * var data = new Date(); + * var deadlineDate = hAPI.calculateDeadLineHours(data, 50000, 2, "Default"); + * var processo = getValue("WKNumProces"); + * hAPI.setDueDate(processo, 0, 'adm', deadlineDate[0], deadlineDate[1]); + */ + declare function calculateDeadLineTime(deadlineDate: Date, seconds: number, deadlineInHours: number, periodId: string): DeadLineDate; + + /** + * Atribui um usuário substituto para a atividade atual do processo. + * + * Usar em eventos do Processo. + */ + declare function setColleagueReplacement(responsible: string): void; + + /** + * Retorna o link para movimentação da solicitação. + * + * Usar em eventos do Processo. + */ + declare function getUserTaskLink(numAtividade: number): string; + + /** + * Pega o ID da Thread atual + */ + declare function getActualThread(companyNumber, processNumber, activityNumber): number; + + /** + * Permite a criação de atividades adhoc dentro dos eventos do Fluig + * + * @param processoId Número da Solicitação + * @param sequenceId Código processstate da atividade que tem o processo ad-hoc + * @param assunto Assunto + * @param detalhamento Detalhamento + * @param tarefas Lista de tarefas + */ + declare function createAdHocTasks(processoId: number, sequenciaId: number, assunto: string, detalhamento: string, tarefas: Task[]): void; + + /** + * Retorna a lista de anexos do processo + * + * Somente anexos do tipo GED e Workflow são retornados. + */ + declare function listAttachments(): java.util.List; + + /** + * Permite publicar anexo workflow da solicitação no GED + * + * É obrigatório informar a pasta destino através do método setParentDocumentId + */ + declare function publishWorkflowAttachment(documentDto: DocumentDto): void; + + /** + * Permite anexar documentos do GED à solicitação workflow + * + * @throws {Error} + */ + declare function attachDocument(documentId: number): void; + + /** + * Retorna os campos filhos, e seus valores, de uma tabela pai. + * + * Retorna um objeto com a propriedade sendo o nome do campo e seus valores. + */ + declare function getChildrenFromTable(tableName: string): object; + + /** + * Retorna os índices dos campos filhos de uma tabela pai. + * + * @see https://tdn.totvs.com/display/public/fluig/Eventos+de+Processos#EventosdeProcessos-EventosdeFormul%C3%A1rioPaiFilho + */ + declare function getChildrenIndexes(tableName: string): number[]; + + /** + * + */ + declare function getAvailableStatesDetail(companyId: number, userId: string, processId: number, processInstanceId: number, threadSequenceId: number = 0); +}; diff --git a/src/fluig/log.d.ts b/src/fluig/log.d.ts new file mode 100644 index 0000000..33f1539 --- /dev/null +++ b/src/fluig/log.d.ts @@ -0,0 +1,25 @@ +/** + * Envia mensagens ao Log do ECM Server + */ +declare namespace log { + + /** + * Log com "criticidade" INFO + */ + declare function info(message: string): void; + + /** + * Log com "criticidade" WARNING + */ + declare function warn(message: string): void; + + /** + * Log com "criticidade" ERROR + */ + declare function error(message: string): void; + + /** + * Log com "criticidade" FATAL + */ + declare function fatal(message: string): void; +}; diff --git a/src/fluig/wcm.d.ts b/src/fluig/wcm.d.ts new file mode 100644 index 0000000..4ffb340 --- /dev/null +++ b/src/fluig/wcm.d.ts @@ -0,0 +1,190 @@ +/** + * Configuração para uma requisição efetuada pelo método WCMAPI.Create + */ +interface WcmApiRequestSettings { + url?: string; + + /** + * Verbo HTTP utilizado na requisição (padrão é GET) + */ + method?: string; + + /** + * Tipo do envio. + * + * Pode ser: + * - application/x-www-form-urlencoded (padrão) + * - multipart/form-data (quando quer fazer envio de arquivos) + * - text/plain + */ + contentType?: string; + + /** + * Tipo do resultado esperado da requisição. + * + * O resultado da requisição será convertido para o tipo especificado e então + * enviado ao método success. + * + * Os tipos possíveis são: + * - xml + * - html + * - script + * - json + * - jsonp + * - text + */ + dataType?: string; + + /** + * Dados para enviar + */ + data?: string|object; + + /** + * Função que será executada em caso de sucesso + * + * @param data + * @param textStatus + * @param jqXHR Objeto da JQuery + */ + success?: function (string|object, string, object): void; + + /** + * Função que será executada em caso de falha + * + * @param jqXHR Objeto da JQuery + * @param textStatus + * @param errorThrown + */ + error?: function (object, string, string): void; + + /** + * Converter os dados para o padrão application/x-www-form-urlencoded + * + * Por padrão os dados são convertidos para application/x-www-form-urlencoded, + * mas você pode desabilitar essa conversão para poder enviar um DOMDocument + * ou outro tido de dado sem a conversão. + */ + processData?: boolean; +} + + +/** + * Consultar dados do ambiente da sessão via JS (Client Side) + */ +declare namespace WCMAPI { + /** + * Endereço do servidor (incluindo protocolo e porta) + */ + const serverURL: string; + + /** + * ID do tenant ao qual o usuário está conectado + */ + const organizationId: string; + + /** + * Indica se usuário está logado + */ + const userIsLogged: boolean; + + /** + * Nome do usuário logado + */ + const user: string; + + /** + * Login do usuário logado + */ + const userLogin: string; + + /** + * Código (matrícula) do usuário logado + */ + const userCode: string; + + /** + * E-mail do usuário logado + */ + const userEmail: string; + + /** + * Indica se a sessão está expirada + */ + const sessExpired: boolean; + + /** + * Versão do fluig + */ + const version: string; + + /** + * Código do tenant ao qual o usuário está conectado + */ + const tenantCode: string; + + /** + * Raíz da URL do portal da plataforma + */ + const serverContextURL: string; + + /** + * Pega o endereço do servidor (incluindo protocolo e porta) + */ + declare function getServerURL(): string; + + /** + * Pega o ID do tenant ao qual o usuário está conectado + */ + declare function getOrganizationId(): string; + + /** + * Pega o código do tenant ao qual o usuário está conectado + */ + declare function getTenantCode(): string; + + /** + * Retorna a raíz da URL do portal da plataforma + */ + declare function getServerContextURL(): string; + + /** + * Envia uma requisição ao servidor do Fluig + * + * A requisição é feita pela JQuery. + * @see https://tdn.totvs.com/display/public/fluig/Consumo+de+um+WS+SOAP+de+um+Widget#ConsumodeumWSSOAPdeumWidget-ConsumirumWSSOAPdeumWidget + */ + declare function Create(settings: WcmApiRequestSettings): void; + + /** + * Encerra a sessão do usuário + */ + declare function logoff(): void; +} + +interface WidgetUpdatePreferences { + /** + * Indica se será uma chamada assíncrona + */ + async: boolean; + + /** + * Função executada em caso de sucesso + * + * @param data + */ + success?: function (object): void; + + /** + * Função executada em caso de falha + * + * @param jqXHR Objeto da JQuery + * @param message Mensagem do erro + * @param errorData Objeto retornado pelo erro + */ + fail?: function (object, string, errorData): void; +} + +declare namespace WCMSpaceAPI.PageService { + declare function UPDATEPREFERENCES(settings: WidgetUpdatePreferences, instanceId: number, preferences: object): void; +} diff --git a/src/java/lang.d.ts b/src/java/lang.d.ts new file mode 100644 index 0000000..64a360f --- /dev/null +++ b/src/java/lang.d.ts @@ -0,0 +1,8 @@ +declare namespace java.lang { + declare class Object { + /** + * Retorna o valor do objeto como uma string + */ + toString(): string; + } +} diff --git a/src/java/naming.d.ts b/src/java/naming.d.ts new file mode 100644 index 0000000..fb1a89e --- /dev/null +++ b/src/java/naming.d.ts @@ -0,0 +1,20 @@ +declare namespace javax.naming { + /** + * Inicia um Contexto + */ + declare class InitialContext { + + /** + * Recupera o DataSource do Banco de Dados + * + * @param {string} dataSource O nome do dataSource. Ex: /jdbc/PostgreSqlDS + * @throws Exception + */ + lookup(dataSource: string): javax.sql.DataSource; + + /** + * Fecha o contexto ao invés de aguardar o coletor de lixo + */ + close(): void; + } +} diff --git a/src/java/sql.d.ts b/src/java/sql.d.ts new file mode 100644 index 0000000..caab9ec --- /dev/null +++ b/src/java/sql.d.ts @@ -0,0 +1,153 @@ +declare namespace javax.sql { + declare class DataSource { + /** + * Recupera a Conexão com o Banco de Dados + * + * @throws Exception + */ + getConnection(): Connection; + } + + /** + * Conexão com o Banco de Dados + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html + */ + declare class Connection { + /** + * Cria o objeto que executará o SQL + * + * @throws Exception + */ + createStatement(): Statement; + + /** + * Encerra a conexão ao invés de aguardar o coletor de lixo + */ + close(): void; + } + + /** + * Objeto que executa uma instrução SQL + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html + */ + declare class Statement { + /** + * Executa um SQL que deve ser uma consulta (SELECT) + * + * @throws Exception + */ + executeQuery(sql: string): ResultSet; + + /** + * Executa um SQL que modifica algo no banco (INSERT, UPDATE ou DELETE) + * + * @returns {number} Quantidade de registros afetados + * @throws Exception + */ + executeUpdate(sql: string): number; + + /** + * Libera os recursos da execução imediatamente ao invés de aguardar o coletor de lixo + */ + close(): void; + } + + /** + * Representa o resultado de uma consulta SQL + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html + */ + declare class ResultSet { + + /** + * Move o cursor para o primeiro resultado da consulta + * + * @returns {boolean} Retorna true se moveu o cursor + */ + first(): boolean; + + /** + * Move o cursor para o último resultado da consulta + * + * @returns {boolean} Retorna true se moveu o cursor + */ + last(): boolean; + + /** + * Move o cursor para o próximo resultado da consulta + * + * @returns {boolean} Retorna true se moveu o cursor + */ + next(): boolean; + + /** + * Move o cursor para o resultado anterior da consulta + * + * @returns {boolean} Retorna true se moveu o cursor + */ + previous(): boolean; + + /** + * Pega o número, tipos e propriedades das colunas retornadas na consulta + */ + getMetaData(): ResultSetMetaData; + + /** + * Retorna o valor da coluna como um Objeto Java + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. + */ + getObject(columnIndex: number): java.lang.Object; + getObject(columnLabel: string): java.lang.Object; + + /** + * Retorna o valor da coluna como uma string + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. + */ + getString(columnIndex: number): string; + getString(columnLabel: string): string; + + /** + * Retorna o valor da coluna como um boolean + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como java.sqlDate, byte, java.sql.Blob etc. + */ + getBoolean(columnIndex: number): boolean; + getBoolean(columnLabel: string): boolean; + + /** + * Retorna o valor da coluna como objeto Date + * + * Esse método retorna um java.sql.Date que herda de java.util.Date. + * Para evitar retrabalho deixei como java.util.Date mesmo. + * + * Há vários métodos get para obter o valor da coluna como objetos específicos + * do Java, tais como byte, java.sql.Blob etc. + */ + getDate(columnIndex: number): java.util.Date; + getDate(columnLabel: string): java.util.Date; + + /** + * Libera o resultado da consulta imediatamente ao invés de aguardar o coletor de lixo + */ + close(): void; + } + + declare class ResultSetMetaData { + /** + * Pega o total de colunas da consulta + */ + getColumnCount(): number; + + /** + * Pega o Nome da Coluna (label) + */ + getColumnName(column: number): string; + } +} diff --git a/src/java/text.d.ts b/src/java/text.d.ts new file mode 100644 index 0000000..bb19188 --- /dev/null +++ b/src/java/text.d.ts @@ -0,0 +1,33 @@ +declare namespace java.text { + + /** + * Formatador de Datas + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html + */ + declare class SimpleDateFormat { + /** + * Cria um novo formatador de datas com o padrão indicado + * + * Exemplos: + * + * - "dd/MM/yyyy" -> data no formato pt-BR + * - "yyyy-MM-dd" -> data no formato ISO + * - "HH:mm" -> Hora (24h) e minuto + * - "yyyy-MM-dd'T'HH:mm:ss.SSSZ" -> Data completa (Ex: 2021-07-04T12:08:56.235-0700) + * + * @tutorial https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html + */ + constructor(formato: string); + + /** + * Retorna a data formatada conforme o padrão da formatação + */ + format(data: java.util.Date): string; + + /** + * Converte uma string, formatada como indicado no construtor, em um objeto Date + */ + parse(dataFormatada: string): java.util.Date; + } +} diff --git a/src/java/util.d.ts b/src/java/util.d.ts new file mode 100644 index 0000000..e107a95 --- /dev/null +++ b/src/java/util.d.ts @@ -0,0 +1,509 @@ +declare namespace java.util { + declare abstract class Iterator { + /** + * Indica se ainda há elementos a percorrer + */ + hasNext(): boolean; + + /** + * Pega o próximo elemento + */ + next(): T; + } + + declare abstract class Set { + /** + * Adiciona um elemento ao conjunto + */ + add(value: T): boolean; + + /** + * Indica se o conjunto está vazio + */ + isEmpty(): boolean; + + /** + * Pega a quantidade de elementos do conjunto + */ + size(): number; + + /** + * Remove todos os elementos + */ + clear(): void; + + /** + * Verifica se existe o elemento + */ + contains(value: T): boolean; + + /** + * Pega um iterator para percorrer o conjunto + */ + iterator(): java.util.Iterator; + } + + declare abstract class List { + /** + * Pega o elemento no índice indicado + */ + get(index: number): T; + + /** + * Adiciona um elemento à lista + */ + add(value: T): void; + + /** + * Adiciona todos os elementos da lista indicada para esta lista + */ + addAll(l: java.util.List): void; + + /** + * Indica o tamanho da lista + */ + size(): number; + + /** + * Remove todos os elementos + */ + clear(): void; + + /** + * Verifica se existe o elemento + */ + contains(value: T): boolean; + + /** + * Indica se a lista está vazia + */ + isEmpty(): boolean; + + /** + * Pega um iterator para percorrer a lista + */ + iterator(): java.util.Iterator + } + + declare class ArrayList extends List { + } + + declare abstract class Map { + /** + * Pega o elemento no índice indicado + */ + get(name: K): T; + + /** + * Adiciona um elemento + */ + put(name: K, value: T): void; + + /** + * Indica o tamanho da lista + */ + size(): number; + + /** + * Remove todos os elementos + */ + clear(): void; + + /** + * Copia todos os elementos do mapa indicado para este mapa + */ + putAll(m: java.util.Map): void; + + /** + * Retorna um conjunto com as chaves do Mapa + */ + keySet(): java.util.Set; + } + + declare class HashMap extends java.util.Map { + } + + declare class LinkedHashSet extends java.util.Set { + } + + declare class LinkedHashMap extends java.util.HashMap { + } + + declare class Date { + + /** + * Inicializa com a data do momento que o objeto foi criado + */ + constructor(); + + /** + * Inicializa com a data em milisegundos decorridos desde 1970-01-01 00:00:00 GMT + */ + constructor(date: number); + + /** + * Compara se essa data é posterior à data indicada + */ + after(when: Date): boolean; + + /** + * Compara se essa data é anterior à data indicada + */ + before(when: Date): boolean; + + /** + * Retorna o dia do mês + * + * @deprecated Usar Calendar.get(Calendar.DAY_OF_MONTH) + */ + getDate(): number; + + /** + * Retorna o dia da semana + * + * @deprecated Usar Calendar.get(Calendar.DAY_OF_WEEK) + */ + getDay(): number; + + /** + * Retorna a hora + * + * @deprecated Usar Calendar.get(Calendar.HOUR_OF_DAY) + */ + getHours(): number; + + /** + * Retorna os minutos + * + * @deprecated Usar Calendar.get(Calendar.MINUTE) + */ + getMinutes(): number; + + /** + * Retorna o mês + * + * @deprecated Usar Calendar.get(Calendar.MONTH) + */ + getMonth(): number; + + /** + * Retorna os segundos + * + * @deprecated Usar Calendar.get(Calendar.SECOND) + */ + getSeconds(): number; + + /** + * Retorna o ano + * + * @deprecated Usar Calendar.get(Calendar.YEAR) - 1900 + */ + getYear(): number; + + /** + * Atribui o dia do mês + * + * @deprecated Usar Calendar.set(Calendar.DAY_OF_MONTH, dia) + */ + setDate(): number; + + /** + * Atribui a hora + * + * @deprecated Usar Calendar.get(Calendar.HOUR_OF_DAY, hora) + */ + setHours(): number; + + /** + * Atribui os minutos + * + * @deprecated Usar Calendar.set(Calendar.MINUTE, minutos) + */ + setMinutes(): number; + + /** + * Atribui o mês + * + * @deprecated Usar Calendar.set(Calendar.MONTH, mes) + */ + setMonth(): number; + + /** + * Atribui os segundos + * + * @deprecated Usar Calendar.set(Calendar.SECOND, segundos) + */ + setSeconds(): number; + + /** + * Atribui o ano + * + * @deprecated Usar Calendar.set(Calendar.YEAR, ano + 1900) + */ + setYear(): number; + } + + /** + * A Classe Calendar não deve ser instanciada com operador new. Use sempre o método getInstance(). + * + * Essa classe á abstrata e o Java normalmente vai instanciar um GregorianCalendar quando chamada a getInstance(). + */ + declare abstract class Calendar { + /** + * Cria uma instância de Calendário + * + * Essa classe é abstrata, por isso não é possível instanciá-la diretamente. + */ + static getInstance(): Calendar; + + // Constantes indicando os valores dos meses + + /** + * Indica o valor de Janeiro + */ + static const JANUARY: number; + + /** + * Indica o valor de Fevereiro + */ + static const FEBRUARY: number; + + /** + * Indica o valor de Março + */ + static const MARCH: number; + + /** + * Indica o valor de Abril + */ + static const APRIL: number; + + /** + * Indica o valor de Maio + */ + static const MAY: number; + + /** + * Indica o valor de Junho + */ + static const JUNE: number; + + /** + * Indica o valor de Julho + */ + static const JULY: number; + + /** + * Indica o valor de Agosto + */ + static const AUGUST: number; + + /** + * Indica o valor de Setembro + */ + static const SEPTEMBER: number; + + /** + * Indica o valor de Outubro + */ + static const OCTOBER: number; + + /** + * Indica o valor de Novembro + */ + static const NOVEMBER: number; + + /** + * Indica o valor de Dezembro + */ + static const DECEMBER: number; + + // Constantes de horário + + /** + * Indica que a hora é antes de meio dia + */ + static const AM: number; + + /** + * Indica que a hora é após meio dia + */ + static const PM: number; + + // Constantes de dia da semana + + /** + * Indica que é Domingo + */ + static const SUNDAY: number; + + /** + * Indica que é segunda-feira + */ + static const MONDAY: number; + + /** + * Indica que é terça-feira + */ + static const TUESDAY: number; + + /** + * Indica que é quarta-feira + */ + static const WEDNESDAY: number; + + /** + * Indica que é quinta-feira + */ + static const THURSDAY: number; + + /** + * Indica que é sexta-feira + */ + static const FRIDAY: number; + + /** + * Indica que é Sábado + */ + static const SATURDAY: number; + + + // Constantes de campo + + /** + * Campo que indica se horário é antes ou depois do meio dia + */ + static const AM_PM: number; + + /** + * Campo que indica o dia do mês + */ + static const DATE: number; + + /** + * Campo que indica o dia do mês + */ + static const DAY_OF_MONTH: number; + + /** + * Campo que indica o dia da semana + */ + static const DAY_OF_WEEK: number; + + /** + * Campo que indica o dia do ano + */ + static const DAY_OF_YEAR: number; + + /** + * Campo que indica a hora antes ou depois do meio dia (12h) + */ + static const HOUR: number; + + /** + * Campo que indica a hora do dia (24h) + */ + static const HOUR_OF_DAY: number; + + /** + * Campo que indica os milissegundos + */ + static const MILLISECOND: number; + + /** + * Campo que indica os minutos + */ + static const MINUTE: number; + + /** + * Campo que indica o mês + */ + static const MONTH: number; + + /** + * Campo que indica os segundos + */ + static const SECOND: number; + + /** + * Campo que indica a semana do mês + */ + static const WEEK_OF_MONTH: number; + + /** + * Campo que indica a semana do ano + */ + static const WEEK_OF_YEAR: number; + + /** + * Campo que indica o ano + */ + static const YEAR: number; + + /** + * Retorna o valor do campo indicado + * + * @param {number} campo Uma das constantes da classe indicando o campo + */ + get(campo: number): number; + + /** + * Atribui o valor ao campo indicado + * + * @param {number} campo Uma das constantes da classe indicando o campo + * @param {number} valor O valor que será atribuído ao campo + */ + set(campo: number, valor: number): void; + + /** + * Retorna o calendário como um objeto Date + */ + getTime(): Date; + + /** + * Configura o calendário usando um objeto Date + */ + setTime(data: Date): void; + + /** + * Compara se essa data é posterior à data indicada + */ + after(data: Calendar): boolean; + + /** + * Compara se essa data é anterior à data indicada + */ + before(data: Calendar): boolean; + + /** + * Configura o calendário com o Ano, Mês e Dia + */ + set(ano: number, mes: number, dia: number): void; + + /** + * Configura o calendário com o Ano, Mês, Dia, Hora e Minutos + */ + set(ano: number, mes: number, dia: number, hora: number, minutos: number): void; + + /** + * Configura o calendário com o Ano, Mês, Dia, Hora, Minutos e Segundos + */ + set(ano: number, mes: number, dia: number, hora: number, minutos: number, segundos: number): void; + + /** + * Adiciona ou Subtrai 1 unidade do campo indicado + * + * @param {number} campo Uma das constantes de campo + * @param {boolean} aumentaValor Se for true aumentará o campo, senão ele será diminuído + */ + roll(campo: number, aumentaValor: boolean): void; + + /** + * Adiciona ou Subtrai unidades do campo indicado + * + * @param {number} campo Uma das constantes de campo + * @param {boolean} valor Valor que será utilizado no cálculo. Se positivo aumentará, se negativo diminuirá + */ + roll(campo: number, valor: number): void; + } +} diff --git a/src/rm/consultaSql.d.ts b/src/rm/consultaSql.d.ts new file mode 100644 index 0000000..5de6b35 --- /dev/null +++ b/src/rm/consultaSql.d.ts @@ -0,0 +1,11 @@ +interface IwsConsultaSQL { + /** + * Realiza uma consulta a um SQL previamente cadastrado no BI do RM + * + * @param {string} sql Código (ID) do SQL cadastrado no RM + * @param {number} coligadaNumber + * @param {string} systemCode + * @param {string} parameters Separe-os com ; e mantenha a sequência que o SQL pede. Ex: CODCOLIGADA=1;CODPROJ=00689 + */ + realizarConsultaSQL(sql:string, coligadaNumber:number, systemCode:string, parameters:string): string; +} diff --git a/src/sdk/api/alert.d.ts b/src/sdk/api/alert.d.ts new file mode 100644 index 0000000..af68ed3 --- /dev/null +++ b/src/sdk/api/alert.d.ts @@ -0,0 +1,37 @@ +declare namespace com.fluig.sdk.api.alert { + declare class AlertActionVO {} + declare class AlertConfigVO {} + declare class AlertEventVO {} + declare class AlertModuleVO {} + declare class AlertObjectVO {} + declare class AlertSenderVO {} + declare class AlertUserVO {} + declare class AlertVO { + getActions(): java.util.List; + getCanRemove(): boolean; + getCreationDate(): Date; + getCreationDateTime(): number; + getCurrentDate(): Date; + getEvent(): com.fluig.sdk.api.alert.AlertObjectVO; + getId(): number; + getObject(): com.fluig.sdk.api.alert.AlertObjectVO; + getPlace(): com.fluig.sdk.api.alert.AlertObjectVO; + getPriority(): string; + getRead(): boolean; + getReceiver(): com.fluig.sdk.api.alert.AlertUserVO; + getSenders(): java.util.List; + setActions(actions: java.util.List): void; + setCanRemove(canRemove: boolean): void; + setCreationDate(creationDate: Date): void; + setCreationDateTime(creationDateTime: number): void; + setCurrentDate(currentDate: Date): void; + setEvent(event: com.fluig.sdk.api.alert.AlertEventVO): void; + setId(id: number): void; + setObject(object: com.fluig.sdk.api.alert.AlertObjectVO): void; + setPlace(place: com.fluig.sdk.api.alert.AlertObjectVO): void; + setPriority(priority: string): void; + setRead(read: boolean): void; + setReceiver(receiver: com.fluig.sdk.api.alert.AlertUserVO): void; + setSenders(senders: java.util.List): void; + } +} diff --git a/src/sdk/api/authorizeclient.d.ts b/src/sdk/api/authorizeclient.d.ts new file mode 100644 index 0000000..ddc5fa2 --- /dev/null +++ b/src/sdk/api/authorizeclient.d.ts @@ -0,0 +1,22 @@ + +declare namespace com.fluig.sdk.api.authorizeclient { + declare class AuthorizeClientSdkServiceVO { + /** + * Pega o Resultado da Requisição + * + * Se for um JSON basta usar JSON.parse() para converter em objeto. + */ + getResult(): string; + getCompanyId(): number; + getDescription(): string; + getEndpoint(): string; + getHeaders(): java.util.Map; + getHttpStatusResult(): number; + getMethod(): string; + getOptions(): java.util.Map; + getParams(): java.util.Map; + getServiceCode(): string; + getStrParams(): string; + getTimeoutService(): string; + } +} diff --git a/src/sdk/api/document.d.ts b/src/sdk/api/document.d.ts new file mode 100644 index 0000000..3348c04 --- /dev/null +++ b/src/sdk/api/document.d.ts @@ -0,0 +1,940 @@ +declare namespace com.fluig.sdk.api.document { + declare class AllocatedDocumentVO {} + declare class DocumentApprovementHistoryVO {} + declare class DocumentApproverVO {} + declare class DocumentPermissionVO {} + declare class DocumentRestrictionVO {} + declare class DocumentSecurityConfigVO {} + declare class DocumentSecurityVO {} + declare class DocumentTaskVO {} + + /** + * Representa um documento + */ + declare class DocumentVO { + /** + * Recupera número de acessos + */ + getAccessCount(): number; + + /** + * Recupera versão ativa + */ + getActiveVersion(): boolean; + + + /** + * Recupera o valor do comentário nas informações extras + */ + getAdditionalComments(): string; + + /** + * Recupera valor, se documento permite multi card por usuário + */ + getAllowMuiltiCardsPerUser(): boolean; + + /** + * Recupera condição approvalAndOr + */ + getApprovalAndOr(): boolean; + + /** + * Recupera valor, se documento está aprovado + */ + getApproved(): boolean; + + /** + * Recupera valor da data de aprovação + */ + getApprovedDate(): Date + + /** + * Recupera id de atualização + */ + getAtualizationId(): number; + + /** + * Recupera descrição do card + */ + getCardDescription(): string; + + /** + * Recupera id do colega + */ + getColleagueId(): string; + + /** + * Recupera valor do crc + */ + getCrc(): number; + + /** + * Recupera valor para data de criação + */ + getCreateDate(): Date + + /** + * Recupera valor, se documento foi deletado + */ + getDeleted(): boolean; + + /** + * Recupera descrição do documento + */ + getDocumentDescription(): string; + + /** + * Recupera valor do document Id + */ + getDocumentId(): number; + + /** + * Recupera número de propriedade do documento + */ + getDocumentPropertyNumber(): number; + + /** + * Recupera versão do documento + */ + getDocumentPropertyVersion(): number; + + /** + * Recupera valor do tipo de documento + */ + getDocumentType(): DocumentTypeEnum; + + /** + * Recupera valor do id do tipo de documento + */ + getDocumentTypeId(): string; + + /** + * Recupera valor, se download é habilitado + */ + getDownloadEnabled(): boolean; + + /** + * Recupera valor de draft + */ + getDraft(): boolean; + + /** + * Recupera data de expiração + */ + getExpirationDate(): Date + + /** + * Recupera valor, se documento expira + */ + getExpires(): boolean; + + /** + * Recupera os dados extras + */ + getExtData(): java.util.HashMap; + + /** + * Recupera id documento externo + */ + getExternalDocumentId(): string; + + /** + * Recupera os dados extras + */ + getExtraData(key: string): object; + + /** + * Recupera id do ícone + */ + getIconId(): number; + + /** + * Recupera valor do path do icon + */ + getIconPath(): string; + + /** + * Recupera valor, se documento é imutável + */ + getImutable(): boolean; + + /** + * Recupera valor, se documento é indexado + */ + getIndexed(): boolean; + + /** + * Retorna se o documento herda as propriedades do parent + */ + getInheritSecurity(): boolean; + + /** + * Recupera valor, se documento pode ser visualizado internamente. + */ + getInternalVisualizer(): boolean; + + /** + * Recupera valor de palavra chave + */ + getKeyWord(): string; + + /** + * Recupera id da linguagem + */ + getLanguageId(): string; + + /** + * Recupera valor da última data de modificação + */ + getLastModifiedDate(): Date + + /** + * Recupera última data de modificação + */ + getLastModifiedTime(): string; + + /** + * Recupera valor, se documento está em checkout + */ + getOnCheckout(): boolean; + + /** + * Recupera id do pai do documento + */ + getParentDocumentId(): number; + + /** + * Recupera o tipo de permissão + */ + getPermissionType(): number; + + /** + * Recupera arquivo físico + */ + getPhisicalFile(): string; + + /** + * Recupera valor do tamanho do arquivo físico + */ + getPhisicalFileSize(): number; + + /** + * Recupera prioridade + */ + getPriority(): number; + + /** + * Recupera valor id privado do colega + */ + getPrivateColleagueId(): string; + + /** + * Recupera valor, se documento é privado + */ + getPrivateDocument(): boolean; + + /** + * Recupera id do publicador + */ + getPublisherId(): string; + + /** + * Recupera arquivos relacionados + */ + getRelatedFiles(): string; + + /** + * Recupera tipo de restrição + */ + getRestrictionType(): number; + + /** + * Recupera valor do código do site + */ + getSiteCode(): string; + + /** + * Recupera id do tenant + */ + getTenantId(): number; + + /** + * Recupera valor do id do tópico + */ + getTopicId(): number; + + /** + * Recupera valor, se documento é traduzido + */ + getTranslated(): boolean; + + /** + * Recupera updateIsoProperties + */ + getUpdateIsoProperties(): boolean; + + /** + * Recupera o identificador do upload + */ + getUploadId(): string; + + /** + * Recupera valor, se usuário será notificado + */ + getUserNotify(): boolean; + + /** + * Recupera valor do UUID + */ + getUUID(): string; + + /** + * Recupera data de inicio de validação + */ + getValidationStartDate(): Date + + /** + * Recupera valor da versão + */ + getVersion(): number; + + /** + * Recupera a ação que será realizada em relação a versão documento + */ + getVersionAction(): string; + + /** + * Recupera descrição da versão + */ + getVersionDescription(): string; + + /** + * Recupera visualização + */ + getVisualization(): string; + + /** + * Recupera id do volume + */ + getVolumeId(): string; + + /** + * Atribui valor para número de acessos + */ + setAccessCount(accessCount: number): void; + + /** + * Atribui valor para versão ativa + */ + setActiveVersion(activeVersion: boolean): void; + + /** + * Atribui o valor do comentário nas informações extras + */ + setAdditionalComments(comments: string): void; + + /** + * Atribui valor para allowMultiCardsPerUser + */ + setAllowMuiltiCardsPerUser(allowMultiCardsPerUser: boolean): void; + + /** + * Atribui valor para approvalAndOr + */ + setApprovalAndOr(approvalAndOr: boolean): void; + + /** + * Atribui valor, se documento está aprovado + */ + setApproved(approved: boolean): void; + + /** + * Atribui valor para data de aprovação + */ + setApprovedDate(approvedDate: Date): void; + + /** + * Atribui valor para id de atualização + */ + setAtualizationId(actualizationId: number): void; + + /** + * Atribui valor para descrição do card + */ + setCardDescription(cardDescription: string): void; + + /** + * Atribui valor para id do colega + */ + setColleagueId(colleagueId: string): void; + + /** + * Atribui valor para crc + */ + setCrc(crc: number): void; + + /** + * Atribui valor para data de criação + */ + setCreateDate(createDate: Date): void; + + /** + * Atribui valor, se documento foi deletado + */ + setDeleted(deleted: boolean): void; + + /** + * Atribui valor para descrição do documento + */ + setDocumentDescription(documentDescription: string): void; + + /** + * Atribui valor para id do documento + */ + setDocumentId(documentId: number): void; + + /** + * Atribui valor para número de propriedade do documento + */ + setDocumentPropertyNumber(documentPropertyNumber: number): void; + + /** + * Atribui versão de documento + */ + setDocumentPropertyVersion(documentPropertyVersion: number): void; + + /** + * Atribui valor para tipo de documento + */ + setDocumentType(documentType: DocumentTypeEnum): void; + + /** + * Atribui valor para id do tipo de documento + */ + setDocumentTypeId(documentTypeId: string): void; + + /** + * Atribui valor, se download é habilitado + */ + setDownloadEnabled(downloadEnabled: boolean): void; + + /** + * Atribui valor para draft + */ + setDraft(draft: boolean): void; + + /** + * Atribui valor para data de expiração + */ + setExpirationDate(expirationDate: Date): void; + + /** + * Atribui valor, se documento expira + */ + setExpires(expires: boolean): void; + + /** + * Atribui valor para id documento externo + */ + setExternalDocumentId(externalDocumentId: string): void; + + /** + * Atribui valores para os dados extras + */ + setExtraData(key: string, value: object): void; + + /** + * Atribui valor para id do ícone + */ + setIconId(iconId: number): void; + + /** + * Atribui valor do iconPath do arquivo + */ + setIconPath(iconPath: string): void; + + /** + * Atribui valor, se documento é imutável + */ + setImutable(immutable: boolean): void; + + /** + * Atribui valor, se documento é indexado + */ + setIndexed(indexed: boolean): void; + + /** + * Atribui se herda as propriedades de segurança do parent + */ + setInheritSecurity(inheritSecurity: boolean): void; + + /** + * Atribui valor, se documento pode ser visualizado internamente + */ + setInternalVisualizer(internalVisualizer: boolean): void; + + /** + * Atribui valor para palavra chave + */ + setKeyWord(keyWord: string): void; + + /** + * Atribui valor para id da linguagem + */ + setLanguageId(languageId: string): void; + + /** + * Atribui valor para última data de modificação + */ + setLastModifiedDate(lastModifiedDate: Date): void; + + /** + * Atribui valor a última data de modificação + */ + setOnCheckout(onCheckout: boolean): void; + + /** + * Atribui valor, se documento está em checkout + */ + setLastModifiedTime(lastModifiedTime: string): void; + + /** + * Atribui valor para id do documento pai + */ + setParentDocumentId(parentDocumentId: number): void; + + /** + * Atribui valor para tipo de permissão + */ + setPermissionType(permissionType: number): void; + + /** + * Atribui valor para arquivo físico + */ + setPhisicalFile(physicalFile: string): void; + + /** + * Atribui valor para o tamanho do arquivo físico + */ + setPhisicalFileSize(physicalFileSize: number): void; + + /** + * Atribui valor prioridade + */ + setPriority(priority: number): void; + + /** + * Atribui valor id privado do colega + */ + setPrivateColleagueId(privateColleagueId: string): void; + + /** + * Atribui valor, se documento é privado + */ + setPrivateDocument(privateDocument: boolean): void; + + /** + * Atribui valor para id do publicador + */ + setPublisherId(publisherId: string): void; + + /** + * Atribui valor para arquivos relacionados + */ + setRelatedFiles(relatedFiles: string): void; + + /** + * Atribui valor para tipo de restrição + */ + setRestrictionType(restrictionType: number): void; + + /** + * Atribui valor para código de site + */ + setSiteCode(siteCode: string): void; + + /** + * Atribui valor para id do tenant + */ + setTenantId(tenantId: number): void; + + /** + * Atribui valor para id do tópico + */ + setTopicId(topicId: number): void; + + /** + * Atribui valor, se documento é traduzido + */ + setTranslated(translated: boolean): void; + + /** + * Atribui valor para updateIsoProperties + */ + setUpdateIsoProperties(updateIsoProperties: boolean): void; + + /** + * Atribue o identificador do upload + */ + setUploadId(uploadId: string): void; + + /** + * Atribui valor se usuário será notificado + */ + setUserNotify(userNotify: boolean): void; + + /** + * Atribui valor para UUID + */ + setUUID(uUID: string): void; + + /** + * Atribui valor para data de início de validação + */ + setValidationStartDate(validationStartDate: Date): void; + + /** + * Atribui valor para versão + */ + setVersion(version: number): void; + + /** + * Atribue a ação que será realizada em relação a versão documento + */ + setVersionAction(versionAction: string): void; + + /** + * Atribui valor para descrição da versão + */ + setVersionDescription(versionDescription: string): void; + + /** + * Atribui valor para visualização + */ + setVisualization(visualization: string): void; + + /** + * Atribui valor ao id do volume + */ + setVolumeId(volumeId: string): void; + } + + /** + * Representa uma pasta + */ + declare class FolderVO { + + /** + * Recupera comentário adicional + */ + getAdditionalComments(): string; + + /** + * Recupera valor de approvalAndOr + */ + getApprovalAndOr(): boolean; + + /** + * Recupera valor do colleagueId + */ + getColleagueId(): string; + + /** + * Recupera valor da data de criação + */ + getCreateDate(): Date; + + /** + * Recupera valor de descrição do documento + */ + getDocumentDescription(): string; + + /** + * Recupera valor do documentoId + */ + getDocumentId(): number; + + /** + * Recupera id do tipo de documento + */ + getDocumentTypeId(): string; + + /** + * Recupera os tipos de documento + */ + getDocumentTypes(): java.util.List; + + /** + * Recupera informação se download da pasta está disponível + */ + getDownloadEnabled(): boolean; + + /** + * Informa se a pasta pode expirar + */ + getExpires(): boolean; + + /** + * Recupera os filtros + */ + getFilters(): java.util.HashMap; + + /** + * Recupera valor do iconId + */ + getIconId(): number; + + /** + * Recupera boolean se pasta é imutável + */ + getImutable(): boolean; + + /** + * Recupera segurança herdada + */ + getInheritSecurity(): boolean; + + /** + * Recupera valor de visualizador interno + */ + getInternalVisualizer(): boolean; + + /** + * Recupera valor da palavra chave + */ + getKeyWord(): string; + + /** + * Recupera boolean se usuário será notificado + */ + getNotifyUser(): boolean; + + /** + * Recupera valor do id da pasta pai + */ + getParentFolderId(): number; + + /** + * Recupera lista de permissões + */ + getPermissions(): java.util.List; + + + /** + * Recupera tipo de permissão + */ + getPermissionType(): number; + + /** + * Recupera boolean se documento é privado + */ + getPrivateDocument(): boolean; + + /** + * Recupera lista de publicadores aprovadores + */ + getPublisherApprovers(): java.util.List; + + /** + * Recupera id do publicador + */ + getPublisherId(): string; + + /** + * Recupera lista de restrições de documentos + */ + getRestrictions(): java.util.List; + + /** + * Recupera tipo de restrição + */ + getRestrictionType(): number; + + /** + * Recupera valor do tenantId + */ + getTenantId(): number; + + /** + * Recupera id do tópico + */ + getTopicId(): number; + + /** + * Recupera informação se update de iso properties é permitido + */ + getUpdateIsoProperties(): boolean; + + /** + * Recupera valor da versão + */ + getVersion(): number; + + /** + * Recupera valor da descrição da versão + */ + getVersionDescription(): string; + + /** + * Recupera id do volume + */ + getVolumeId(): string; + + /** + * Atribui valor para comentário adicional + */ + setAdditionalComments(additionalComments: string): void; + + /** + * Atribui valor para approvalAndOr + */ + setApprovalAndOr(approvalAndOr: boolean): void; + + /** + * Atribui valor para colleagueId + */ + setColleagueId(colleagueId: string): void; + + /** + * Atribui valor a data de criação + */ + setCreateDate(createDate: Date): void; + + /** + * Atribui valor para descrição do documento + */ + setDocumentDescription(documentDescription: string): void; + + /** + * Atribui valor para documentId + */ + setDocumentId(documentId: number): void; + + /** + * Atribui valor para documentTypeId + */ + setDocumentTypeId(documentTypeId: string): void; + + /** + * Atribui tipo de documentos + */ + setDocumentTypes(documentTypes: java.util.List): void; + + /** + * Atribui valor para informação se download de pasta está disponível + */ + setDownloadEnabled(downloadEnabled: boolean): void; + + /** + * Atribui valor para informar se a pasta pode expirar + */ + setExpires(expires: boolean): void; + + /** + * Atribui filtros + */ + setFilters(filters: java.util.HashMap): void; + + /** + * Atribui valor para iconId + */ + setIconId(iconId: number): void; + + /** + * Atribui boolean se pasta será imutável + */ + setImutable(immutable: boolean): void; + + /** + * Atribui valor para segurança herdada + */ + setInheritSecurity(inheritSecurity: boolean): void; + + /** + * Atribui boolean se pasta possui visualizador interno + */ + setInternalVisualizer(internalVisualizer: boolean): void; + + /** + * Configura valor da palavra chave + */ + setKeyWord(keyWord: string): void; + + /** + * Atribui boolean se usuário será notificado + */ + setNotifyUser(notifyUser: boolean): void; + + /** + * Atribui valor para id da pasta pai + */ + setParentFolderId(parentFolderId: number): void; + + /** + * Atribui valor para lista de permissões + */ + setPermissions(permissions: java.util.List): void; + + /** + * Atribui valor ao tipo de permissão + */ + setPermissionType(permissionType: number): void; + + /** + * Atribui boolean se documento é privado + */ + setPrivateDocument(privateDocument: boolean): void; + + /** + * Atribui valor para publicadores aprovadores + */ + setPublisherApprovers(publisherApprovers: java.util.List): void; + + /** + * Atribui valor para id do publicador + */ + setPublisherId(publisherId: string): void; + + /** + * Atribui valor para lista de restrições de documentos + */ + setRestrictions(restrictions: java.util.List): void; + + /** + * Atribui valor para tipo de restrição + */ + setRestrictionType(restrictionType: number): void; + + /** + * Atribui valor para tenantId + */ + setTenantId(tenantId: number): void; + + /** + * Atribui valor para topicId + */ + setTopicId(topicId: number): void; + + /** + * Atribui permitir atualização de iso properties + */ + setUpdateIsoProperties(updateIsoProperties: boolean): void; + + /** + * Atribui valor para versão + */ + setVersion(version: number): void; + + /** + * Atribui valor para descrição da versão + */ + setVersionDescription(versionDescription: string): void; + + /** + * Atribui valor do id do volume + */ + setVolumeId(volumeId: string): void; + } + declare class RelatedDocumentVO {} + declare class SolvedPermissionVO {} +} diff --git a/src/sdk/api/ecm.d.ts b/src/sdk/api/ecm.d.ts new file mode 100644 index 0000000..82c2a62 --- /dev/null +++ b/src/sdk/api/ecm.d.ts @@ -0,0 +1,4 @@ +declare namespace com.fluig.sdk.api.ecm { + declare class CollaborationAppVO {}; + declare class CollaborationVO {}; +} diff --git a/src/sdk/api/enums.d.ts b/src/sdk/api/enums.d.ts new file mode 100644 index 0000000..88242c6 --- /dev/null +++ b/src/sdk/api/enums.d.ts @@ -0,0 +1,6 @@ +declare namespace com.fluig.sdk.api.enums { + enum AssumeProcessTaskStatus { + SUCCESS, + ERROR, + } +} diff --git a/src/sdk/api/group.d.ts b/src/sdk/api/group.d.ts new file mode 100644 index 0000000..e778a03 --- /dev/null +++ b/src/sdk/api/group.d.ts @@ -0,0 +1,3 @@ +declare namespace com.fluig.sdk.api.group { + declare class GroupVO {} +} diff --git a/src/sdk/api/holiday.d.ts b/src/sdk/api/holiday.d.ts new file mode 100644 index 0000000..7da4ea7 --- /dev/null +++ b/src/sdk/api/holiday.d.ts @@ -0,0 +1,3 @@ +declare namespace com.fluig.sdk.api.holiday { + declare class HolidayVO {} +} diff --git a/src/sdk/api/job.d.ts b/src/sdk/api/job.d.ts new file mode 100644 index 0000000..94536f7 --- /dev/null +++ b/src/sdk/api/job.d.ts @@ -0,0 +1,7 @@ +declare namespace com.fluig.sdk.api.job { + declare class JobVO {} +} + +declare namespace com.fluig.sdk.api.job.JobVO { + declare class IntervalType {} +} diff --git a/src/sdk/api/local.d.ts b/src/sdk/api/local.d.ts new file mode 100644 index 0000000..bbbfcd3 --- /dev/null +++ b/src/sdk/api/local.d.ts @@ -0,0 +1,4 @@ +declare namespace com.fluig.sdk.api.local { + declare class LocalUserVO {} + declare class LocalVO {} +} diff --git a/src/sdk/api/oauth.d.ts b/src/sdk/api/oauth.d.ts new file mode 100644 index 0000000..47ca64b --- /dev/null +++ b/src/sdk/api/oauth.d.ts @@ -0,0 +1,3 @@ +declare namespace com.fluig.sdk.api.oauth { + declare class OAuthSdkVO {} +} diff --git a/src/sdk/api/permission.d.ts b/src/sdk/api/permission.d.ts new file mode 100644 index 0000000..698ad91 --- /dev/null +++ b/src/sdk/api/permission.d.ts @@ -0,0 +1,27 @@ +declare namespace com.fluig.sdk.api.permission { + declare class PermissionAssetVO { + getId(): number; + getCode(): string; + getDescription(): string; + getPageCode(): string; + getTypeCode(): string; + setId(id: number): void; + setCode(code: string): void; + setDescription(description: string): void; + setPageCode(pageCode: string): void; + setTypeCode(typeCode: string): void; + } + + declare class PermissionVO { + getCategory(): string; + getCategoryCode(): string; + getIsSelected(): boolean; + getPermission(): string; + getPermissionDescription(): string; + setCategory(category: string): void; + setCategoryCode(categoryCode: string): void; + setIsSelected(isSelected: boolean): void; + setPermission(permission: string): void; + setPermissionDescription(permissionDescription: string): void; + } +} diff --git a/src/sdk/api/search.d.ts b/src/sdk/api/search.d.ts new file mode 100644 index 0000000..7da4903 --- /dev/null +++ b/src/sdk/api/search.d.ts @@ -0,0 +1,4 @@ +declare namespace com.fluig.sdk.api.search { + declare class DefaultSearchRequest {} + declare class DefaultSearchResponse{} +} diff --git a/src/sdk/api/social.d.ts b/src/sdk/api/social.d.ts new file mode 100644 index 0000000..744e111 --- /dev/null +++ b/src/sdk/api/social.d.ts @@ -0,0 +1,13 @@ +declare namespace com.fluig.sdk.api.social { + declare class ArticleCoverVO {} + declare class ArticleVO {} + declare class CommentVO {} + declare class CommunityVO {} + declare class CropVO {} + declare class MediaVO {} + declare class PostVO {} + declare class SociableVO {} + declare class SocialBreadcrumbItemVO {} + declare class SocialBreadcrumbVO {} + declare class SocialVO {} +} diff --git a/src/sdk/api/task.d.ts b/src/sdk/api/task.d.ts new file mode 100644 index 0000000..84b47f9 --- /dev/null +++ b/src/sdk/api/task.d.ts @@ -0,0 +1,5 @@ +declare namespace com.fluig.sdk.api.task { + declare class ResumedTasksVO {} + declare class TaskKindEnum {} + declare class TaskStatusEnum {} +} diff --git a/src/sdk/api/workflow.d.ts b/src/sdk/api/workflow.d.ts new file mode 100644 index 0000000..d303e78 --- /dev/null +++ b/src/sdk/api/workflow.d.ts @@ -0,0 +1,74 @@ +declare namespace com.fluig.sdk.api.workflow { + declare class AssumeProcessTaskResultVO { + getColleagueId(): string; + getComplement(): string; + getErrorCode(): string; + getMessage(): string; + getMovementSequence(): number; + getProcessInstanceId(): number; + getStatus(): com.fluig.sdk.api.enums.AssumeProcessTaskStatus; + getTenantId(): number; + setColleagueId(colleagueId: string): void; + setComplement(complement: string): void; + setErrorCode(errorCode: string): void; + setMessage(message: string): void; + setMovementSequence(movementSequence: number): void; + setProcessInstanceId(processInstanceId: number): void; + setStatus(status: com.fluig.sdk.api.enums.AssumeProcessTaskStatus): void; + setTenantId(tenantId: number): void; + } + + declare class AssumeProcessTaskVO { + getColleagueId(): string; + getReplacementId(): string; + getMovementSequence(): number; + getProcessInstanceId(): number; + setColleagueId(colleagueId: string): void; + setReplacementId(replacementId: string): void; + setMovementSequence(movementSequence: number): void; + setProcessInstanceId(processInstanceId: number): void; + } + + declare class AssumeProcessTasksResultVO {} + declare class AssumeProcessTasksVO {} + declare class AttachmentVO {} + declare class CancelInstanceResultVO {} + declare class CancelInstanceVO {} + declare class CancelInstancesResultVO {} + declare class CancelInstancesVO {} + declare class CardIndexAttachmentVO {} + declare class CardIndexVO {} + declare class CardItemVO {} + declare class ProcessAttachmentVO {} + declare class ProcessDefinitionVO {} + declare class ProcessDefinitionVersionVO {} + declare class ProcessInstanceInfoVO {} + declare class ProcessObservationVO {} + declare class ProcessStateVO {} + declare class ProcessTaskInfoVO {} + + declare class ProcessTaskVO { + getColleagueId(): string; + getComplement(): string; + getSelectedColleagueId(): string; + getCompanyId(): number; + getMovementSequence(): number; + getProcessInstanceId(): number; + getTransferredSequence(): number; + setColleagueId(colleagueId: string): void; + setComplement(complement: string): void; + setSelectedColleagueId(selectedColleagueId: string): void; + setCompanyId(companyId: number): void; + setMovementSequence(movementSequence: number): void; + setProcessInstanceId(processInstanceId: number): void; + setTransferredSequence(transferredSequence: number): void; + } + + declare class ProcessVersionVO {} + declare class RequestProcessTaskVO {} + declare class RequestSLAVO {} + declare class RequestTaskSLAVO {} + declare class ResumeProcessTaskVO {} + declare class ResumeRequestsSLAVO {} + declare class WorkflowVO {} +} diff --git a/src/sdk/filter.d.ts b/src/sdk/filter.d.ts new file mode 100644 index 0000000..799d7a3 --- /dev/null +++ b/src/sdk/filter.d.ts @@ -0,0 +1,8 @@ +declare namespace com.fluig.sdk.filter { + declare class FilterFieldVO {} + declare class FilterGroupResultVO {} + declare class FilterGroupVO {} + declare class FilterOrderVO {} + declare class FilterResultVO {} + declare class FilterVO {} +} diff --git a/src/sdk/identity.d.ts b/src/sdk/identity.d.ts new file mode 100644 index 0000000..4e205a7 --- /dev/null +++ b/src/sdk/identity.d.ts @@ -0,0 +1,3 @@ +declare namespace com.fluig.sdk.identity { + declare class UserAuthTokenSessionVO {} +} diff --git a/src/sdk/page.d.ts b/src/sdk/page.d.ts new file mode 100644 index 0000000..9280b42 --- /dev/null +++ b/src/sdk/page.d.ts @@ -0,0 +1,5 @@ +declare namespace com.fluig.sdk.page { + declare class PageMobileApiVO {} + declare class PageWidgetMobileApiVO {} + declare class PublicApiPageVO {} +} diff --git a/src/sdk/services.d.ts b/src/sdk/services.d.ts new file mode 100644 index 0000000..2adb2d9 --- /dev/null +++ b/src/sdk/services.d.ts @@ -0,0 +1,548 @@ +/** + * Serviços do Fluig + */ + +declare namespace com.fluig.sdk.service { + /** + * Fornece acesso aos serviços de notificações + */ + declare class AlertService { + /** + * Método que conta os alertas não lidos de um usuário. + */ + countUnreadAlerts(receiverId: number): number; + + /** + * Método que conta os alertas de um modulo não lidos de um usuário + */ + countUnreadAlertsByModule(module: string, receiverId: number): number; + + /** + * Get the number of notification in the tenant + */ + getTenantTotalOfNotification(): number; + + /** + * Busca os alertas com ação vinculada, do usuário logado ordenado pela data de criação. + */ + listAlertsWithAction(limit: number, offset: number): java.util.List + + /** + * Busca os alertas com nota, do usuário logado ordenado pela data de criação. + */ + listAlertsWithNote(limit: number, offset: number): java.util.List + + /** + * Retorna todas as notificações do usuário logado ordenadas pela data de criação. + */ + listAllAlerts(limit: number, offset: number): java.util.List + + /** + * Retorna todas as notificações de um usuário por um único módulo + */ + listAllAlertsByModule(module: string, limit: number, offset: number): java.util.List + + /** + * Método marca os alertas informados de um usuário também dado como lidos + */ + markAlertAsRead(loginReceiver: string, alertsId: java.util.List): void; + + /** + * Método marca todos os alertas de um usuário como lidos. + */ + markAllAlertsAsRead(loginReceiver: string): void; + + /** + * Método que remove os alertas informados de um usuário também dado, esse método também é responsável por remover os senders, places e objects relacionado aos alertas + */ + removeAlerts(loginSender: string, alertsId: java.util.List): void; + + /** + * Salva a configuração de um usuário para receber ou não alertas de um dado evento através de um dado aplicativo. + */ + saveConfiguration(alertConfig: com.fluig.sdk.api.alert.AlertConfigVO): void; + + /** + * Método que deve ser invocado por todos os módulos do sistema para enviar alertas. + */ + sendNotification(eventKey: string, loginSender: string, loginReceiver: string, object: com.fluig.sdk.api.alert.AlertVO, place: com.fluig.sdk.api.alert.AlertVO, actions: java.util.List, metadata: java.util.HashMap): void; + } + + declare class ArticleService {} + + /** + * Cliente para requisições externas usando autenticação do Fluig + */ + declare class AuthorizeClientSdkService { + /** + * Executa a chamada ao WS + * + * O parâmetro passado deve ser um objeto convertido em string (JSON.stringfy) com as seguintes propriedades: + * + * - companyId; + * - serviceCode: ID do serviço cadastrado no Fluig; + * - endpoint; + * - method: Método HTTP (GET, POST, PUT, DELETE); + * - timeoutService (em segundos); + * - params: Objeto com os valores a serem enviados na requisição; + * - headers: Objeto com os valores a serem enviados no cabeçalho; + * - options: Objeto com as propriedades da requisição: + * - encoding (padrão UTF-8) + * - mediaType (padrão application/json) + * - useSSL (padrão false) + * + * @tutorial https://tdn.totvs.com/pages/releaseview.action?pageId=239041233#Autoriza%C3%A7%C3%A3oparaclientdeServi%C3%A7osREST-Consumindooservi%C3%A7ocomautentica%C3%A7%C3%A3oOAuth1,OAuth2,BasicAuthentication,CustomAuthenticationeNoneAuthentication + */ + invoke(data: string): com.fluig.sdk.api.authorizeclient.AuthorizeClientSdkServiceVO; + } + declare class CardIndexService {} + declare class CardService {} + declare class CollaborationSDKService {} + declare class CommentService {} + declare class CommunityService {} + declare class ContentFilesService {} + /** + * Fornece acesso aos serviços de documentos (GED) + */ + declare class DocumentService { + /** + * Aprova ou reprova um documento. + */ + approveDocument(documentId: number, version: number, approved: boolean, observation: string): void; + + /** + * Copia o documento que esta na área de upload + */ + copyDocumentToUploadArea(documentId: number): string[]; + + /** + * Cria o documento com permissões e aprovadores + */ + createDocument(documentVO: com.fluig.sdk.api.document.DocumentVO): com.fluig.sdk.api.document.DocumentVO; + + /** + * Cria uma documento privado + */ + createPrivateDocument(companyId: number, userId: string, fileName: string, file: File): com.fluig.sdk.api.document.DocumentVO; + + /** + * Cria uma documento privado + */ + createPrivateDocument(companyId: number, userId: string, fileName: string, filePath: string): com.fluig.sdk.api.document.DocumentVO; + + /** + * Remove o documento + */ + deleteDocument(documentId: number): void; + + /** + * Retorna o documento ativo passado o ID do mesmo. + */ + getActive(documentId: number): com.fluig.sdk.api.document.DocumentVO + + /** + * Retorna documento com as informações de checkout + */ + getAllocatedDocument(documentId: number, version: number): com.fluig.sdk.api.document.AllocatedDocumentVO; + + getCurrentUserPermission(documentId: number): com.fluig.sdk.api.document.SolvedPermissionVO; + + /** + * Return the approvement history of the document + */ + getDocumentApprovalHistory(documentId: number): java.util.List; + + /** + * Retrieve all document approvers and yours status. + */ + getDocumentApprovers(documentId: number): java.util.List; + + /** + * Retorna as permissões do documento + */ + getDocumentPermissions(documentId: number, version: number): java.util.List; + + /** + * Retorna a url do documento + */ + getDownloadURL(documentId: number): string; + + /** + * Retorna a permissão do usuário em um documento. + */ + getUserPermissions(documentId: number, version: number, user: string): number; + + /** + * Set Approvers for a specific document + */ + setDocumentApprovers(documentId: number, documentSecurityVO: com.fluig.sdk.api.document.DocumentSecurityVO): void; + + /** + * Determina as permissões do documento + */ + setDocumentPermissions(documentId: number, permissions: java.util.List): void; + + /** + * Update file + */ + updateFile(docVO: com.fluig.sdk.api.document.DocumentVO): com.fluig.sdk.api.document.DocumentVO; + + /** + * Valida configurações de documento + */ + validateDocumentPublicUrlConfiguration(tenantId: number, documentId: number, version: number): void; + } + declare class DocumentationProxyServiceService {} + declare class FavoritesService {} + declare class FilterAPIService {} + + /** + * Fornece acesso aos serviços de pastas (GED) + */ + declare class FolderDocumentService { + /** + * Criação de uma nova pasta + */ + create(vo: com.fluig.sdk.api.document.FolderVO): com.fluig.sdk.api.document.FolderVO; + + /** + * Recupera um documento através do id + */ + get(documentId: number): com.fluig.sdk.api.document.DocumentVO; + + /** + * Recupera lista de documentos através do id da pasta + */ + list(folderId: number): java.util.List; + + /** + * Recupera lista de documentos através do id da pasta + */ + list(folderId: number, permission: number): java.util.List; + + /** + * Retorna os documentos de uma pasta + */ + listDocumentsByFolder(folderVO: com.fluig.sdk.api.document.FolderVO, limit: number, offset: number): java.util.List; + + /** + * Atualiza documento ou pasta + */ + updateDocumentDescription(companyId: number, documentId: number, description: string): com.fluig.sdk.api.document.DocumentVO; + } + declare class GlobalParameterService {} + declare class GroupService {} + declare class HolidayAPIService {} + declare class I18NService {} + declare class IdentityService {} + declare class JobService {} + declare class LocalAPIService {} + + /** + * Serviço para tratar páginas + */ + declare class PageService { + createPageDraftFromVersion(pageCode: string, pageVersion: number): void; + disable(pageCode: string): void; + enable(pageCode: string): void; + + /** + * Retorna itens de menu da página + */ + findMenuFromPage(pageCode: string): java.util.List; + + /** + * Consulta páginas do fluig + */ + findPages(parentPageCode: string, isMobile: boolean, filter: string, start: number, size: number, searchLevel: number, internalPages: boolean): java.util.List; + findPages(parentPageCode: string, isMobile: boolean, filter: string, start: number, size: number, searchLevel: number, internalPages: boolean, codePage: string): java.util.List; + + /** + * Retorna a URL do servidor + */ + getServerURL(): string; + + /** + * Recupera os valores de preferências para uma instância de uma widget. + */ + getWidgetPreferences(instanceId: number): java.util.HashMap; + + mobileMapping(pageCode: string): com.fluig.sdk.page.PageMobileApiVO; + + hide(pageCode: string): void; + + publishPageDraft(pageCode: string, publicationDescription: string): void; + + pageHistory(pageCode: string): java.util.List; + + /** + * Recarrega o layout de uma página + */ + reloadPageLayout(pageCode: string): void; + + /** + * Seta o valor de uma preferência para uma instância de uma widget + */ + setWidgetPreference(instanceId: number, key: string, value: string): void; + + show(pageCode: string): void; + } + + declare class PageWidgetService {} + declare class PostService {} + declare class SearchService {} + + declare class SecurityService { + /** + * Verifica se o usuário logado possui determinada permissão no recurso informado + */ + hasPermission(resource: string, permission: string): boolean; + + /** + * Lista os recursos da categoria + */ + listResourcesByCategory(category: string, filter: string, offset: number, limit: number): java.util.List + + /** + * Lista as permissões do recurso informado + */ + getPermissionsByResourceCode(resourceCode: string): java.util.List + + /** + * Crias as permissões para o recurso + */ + createPermissions(resourceCode: string, permissions: java.util.List): void; + + /** + * Remove as permissões do recurso + */ + deletePermissions(resourceCode: string, permissions: java.util.List): void; + } + + declare class SocialBreadcrumbService {} + declare class SocialSDKService {} + declare class TagsCloudService {} + declare class TasksService {} + declare class TenantService {} + + /** + * Fornece acesso aos serviços de usuário + */ + declare class UserService { + + /** + * Adiciona um usuário a um grupo + */ + addUserToGroup(tenantId: number, groupCode: string, userVO: com.fluig.sdk.user.UserVO): void; + + /** + * Change the user password + */ + changeUserPassword(vo: com.fluig.sdk.user.UserPasswordVO): void; + + /** + * Cria um novo usuário + */ + create(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + create(tenantId: number, vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + + /** + * Retorna o usuário pelo id + */ + findById(id: number): com.fluig.sdk.user.UserVO + + /** + * Retorna o usuário pelo login + */ + findByLogin(login: string): com.fluig.sdk.user.UserVO + + /** + * Retorna usuário pelo ID + */ + findByUserCode(colleagueId: string): com.fluig.sdk.user.UserVO + + /** + * Retorna o usuário corrente logado + */ + getCurrent(): com.fluig.sdk.user.UserVO + + /** + * Pesquisa por usuários baseado em um conjunto de parâmetros. + */ + list(offset: number, limit: number): java.util.List; + list(params: java.util.HashMap, offset: number, limit: number): java.util.List; + list(sortField: string, sortType: string, limit: number, offset: number, search: string): java.util.List; + + /** + * Pesquisa por usuários ativos e inativos baseado em um conjunto de parâmetros. + */ + listAll(sortField: string, sortType: string, limit: number, offset: number, search: string): java.util.List; + + /** + * Pega todos os dados do usuário especificado pelo login + */ + listData(login: string): java.util.HashMap; + + /** + * Pega todos os grupos do usuário especificado pelo login + */ + listGroups(login: string): java.util.List; + + /** + * Pega todos os papéis do usuário especificado pelo login + */ + listRoles(login: string): java.util.List; + + /** + * Remove dados do usuário + */ + removeUserData(alias: string, key: string): void; + + /** + * Atualiza o usuário + */ + updateUser(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + + /** + * Atualiza os dados do usuário logado + */ + updateUserData(data: java.util.HashMap): boolean; + + /** + * Atualiza os dados do usuário procurando pelo ID + */ + updateUserDataById(data: java.util.HashMap, userId: string): boolean; + + /** + * Atualiza usuário mesmo que esteja desabilitado (inativo) + */ + updateUserEvenDisabled(vo: com.fluig.sdk.user.UserVO): com.fluig.sdk.user.UserVO; + } + declare class WidgetService {} + + /** + * Fornece acesso aos serviços de workflow + */ + declare class WorkflowAPIService { + /** + * Faz com que o usuário repassado assuma a tarefa + */ + assumeProcessTask(assumeProcessTaskVO: com.fluig.sdk.api.workflow.AssumeProcessTaskVO): com.fluig.sdk.api.workflow.AssumeProcessTaskResultVO; + assumeProcessTask(companyId: number, userId: string, processInstanceId: number, movementSequence: number, replacementId: string): com.fluig.sdk.api.workflow.ProcessTaskVO; + + /** + * Faz com que os usuários repassados assumam as tarefas vinculadas aos mesmos + */ + assumeProcessTasks(assumeProcessTasksVO: com.fluig.sdk.api.workflow.AssumeProcessTasksVO): com.fluig.sdk.api.workflow.AssumeProcessTaskResultVO; + + cancelInstance(cancelInstanceVO: com.fluig.sdk.api.workflow.CancelInstanceVO): com.fluig.sdk.api.workflow.CancelInstanceResultVO; + cancelInstances(cancelInstanceVO: com.fluig.sdk.api.workflow.CancelInstancesVO): com.fluig.sdk.api.workflow.CancelInstancesResultVO; + + /** + * Insere um complemento em uma solicitação + */ + createProcessObservation(processObservationVO: com.fluig.sdk.api.workflow.ProcessObservationVO): com.fluig.sdk.api.workflow.ProcessObservationVO; + + findAssignedToMeTasks(processId: string, initialStartDate: string, finalStartDate: string, requester: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + + findManagedByMeTasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, requester: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como requisitante + */ + findMyRequestsSLA(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, assignee: string, manager: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; + + findMyRequestsTasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + + /** + * Retorna a lista de complementos em uma solicitação + */ + findObservations(processInstanceId: number, stateSequence: number, threadSequence: number): java.util.List; + + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável + */ + findRequestSLAByProcessInstanceId(processInstanceId: number, populateCurrentTasks: boolean, calculate: boolean, populateCardFields: boolean, populateLocals: boolean, assigneeLocals: boolean): com.fluig.sdk.api.workflow.RequestSLAVO; + findRequestSLAByProcessInstanceId(processInstanceId: string, expand: string, calculate: string): com.fluig.sdk.api.workflow.RequestSLAVO; + + /** + * Recupera uma lista das solicitações de SLA dos processos configurados + */ + findRequestsSLA(): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, statusRequiredList: java.util.List): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, statusRequiredList: java.util.List, returnCurrentTasks: boolean): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, statusRequiredList: java.util.List, returnCurrentTasks: boolean): java.util.LinkedHashSet; + findRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, statusRequiredList: java.util.List, initialStartDate: Date, finalStartDate: Date, initialDeadlineDate: Date, finalDeadlineDate: Date, initialWarningDate: Date, finalWarningDate: Date, returnCurrentTasks: boolean, requester: string, assignee: string, manager: string, requesterLocals: java.util.List, assigneeLocals: java.util.List, orderParams: java.util.List, calculate: boolean, page: number, pageSize: number, populateCardFields: boolean, populateLocalsValue: boolean, populateAssigneeLocalsValue: boolean): java.util.LinkedHashSet; + findRequestsSLA(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, assignee: string, manager: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; + + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável + */ + findRequestsSLAAssignedToMe(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, manager: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; + + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como gestor + */ + findRequestsSLAManagedByMe(processes: string, cardFilters: string, statusRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, expand: string, requester: string, assignee: string, requesterLocals: string, assigneeLocals: string, order: string, calculate: string, page: string, pageSize: string): java.util.LinkedHashSet; + + findSLATasks(processId: string, initialStartDate: string, finalStartDate: string, assignee: string, requester: string, manager: string, page: string, pageSize: string, statusTypeTaskRequest: string, calculate: string, expand: string, cardFilters: string): java.util.LinkedHashSet; + + /** + * Retorna uma lista das atividades pendentes de um processo + */ + getActiveTasks(processInstanceId: number): com.fluig.sdk.api.workflow.ProcessInstanceInfoVO; + + /** + * Retorna uma lista de processos disponíveis para o usuário + */ + getAvailableProcess(tenantId: number, userId: string): java.util.List; + + /** + * Retorna a versão de um processo + */ + getProcessVersion(processId: string): number; + + /** + * Retorna todos os processos da empresa + */ + listProcess(pattern: string, limit: number, offset: number): java.util.List; + + /** + * Retorna todos os processos da empresa + */ + listSlaProcess(): java.util.List; + + resumeAssignedToMeTasks(processId: string, startDate: string, endDate: string, requester: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + resumeManagedByMeTasks(processId: string, startDate: string, endDate: string, requester: string, assignee: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como requisitante + */ + resumeMyRequestsSLA(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, assignee: string, manager: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + + resumeMyRequestsTasks(processId: string, startDate: string, endDate: string, assignee: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados + */ + resumeRequestsSLA(): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, countersRequiredList: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: java.util.List, cardFilters: java.util.HashMap, countersRequiredList: java.util.List, initialStartDate: Date, finalStartDate: Date, initialDeadlineDate: Date, finalDeadlineDate: Date, initialWarningDate: Date, finalWarningDate: Date, requester: string, assignee: string, manager: string, requesterLocalsList: java.util.List, assigneeLocalsList: java.util.List): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + resumeRequestsSLA(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, assignee: string, manager: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como responsável + */ + resumeRequestsSLAAssignedToMe(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, manager: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + + /** + * Recupera um resumo dos indicadores de SLA dos processos configurados considerando o usuário logado como gestor + */ + resumeRequestsSLAManagedByMe(processes: string, cardFilters: string, countersRequired: string, initialStartDate: string, finalStartDate: string, initialDeadlineDate: string, finalDeadlineDate: string, initialWarningDate: string, finalWarningDate: string, requester: string, assignee: string, requesterLocals: string, assigneeLocals: string): com.fluig.sdk.api.workflow.ResumeRequestsSLAVO; + + resumeSLATasks(processId: string, startDate: string, endDate: string, assignee: string, requester: string, manager: string): com.fluig.sdk.api.workflow.ResumeProcessTaskVO; + } +} diff --git a/src/sdk/tenant.d.ts b/src/sdk/tenant.d.ts new file mode 100644 index 0000000..586767e --- /dev/null +++ b/src/sdk/tenant.d.ts @@ -0,0 +1,4 @@ +declare namespace com.fluig.sdk.tenant { + declare class AdminUserVO {} + declare class TenantVO {} +} diff --git a/src/sdk/user.d.ts b/src/sdk/user.d.ts new file mode 100644 index 0000000..cd0a010 --- /dev/null +++ b/src/sdk/user.d.ts @@ -0,0 +1,189 @@ +declare namespace com.fluig.sdk.user { + declare class ColleagueVO {} + declare class UserPasswordVO {} + + /** + * Representa um Usuário + */ + declare class UserVO { + /** + * Pega o e-mail + */ + getEmail(): string + + /** + * Pega o nome completo + */ + getFullName(): string + + /** + * Pega o primeiro nome + */ + getFirstName(): string; + + /** + * Pega o sobrenome + */ + getLastName(): string; + + /** + * Pega o login + */ + getLogin(): string; + + /** + * Pega o código + */ + getCode(): string + + /** + * Pega todos os dados extras + */ + getExtData(): java.util.HashMap; + + /** + * Pega um dado extra + */ + getExtraData(key: string): object; + + /** + * Pega os grupos + */ + getGroups(): java.util.List; + + /** + * Pega o ID + */ + getId(): number; + + /** + * Informa se é um usuário Ativo + */ + getIsActive(): boolean; + + /** + * Pega a senha + */ + getPassword(): string; + + /** + * Pega o fuso horário + */ + getTimezone(): string; + + /** + * Pega os papéis + */ + getRoles(): java.util.List; + + /** + * Pega o token de acesso + */ + getTokenAccess(): string; + + /** + * Pega a senha do token + */ + getTokenSecret(): string; + + /** + * Pega o UUID + */ + getUserUUID(): string; + + /** + * Retorna objeto no mapa + */ + getValueExtData(key: string): object; + + /** + * Adiciona dados extras + */ + addExtData(key: string, value: object): void; + + /** + * Atribui o código + */ + setCode(code: string): void; + + /** + * Atribui o e-mail + */ + setEmail(email: string): void; + + /** + * Atribui os dados extras + */ + setExtData(extData: java.util.HashMap): void; + + /** + * Atribui um valor para um dado extra + */ + setExtraData(key: string, value: object): void; + + /** + * Atribui o primeiro nome + */ + setFirstName(firstName: string): void; + + /** + * Atribui o sobrenome + */ + setLastName(lastName: string): void; + + /** + * Atribui o nome completo + */ + setFullName(fullName: string): void; + + /** + * Atribui os grupos + */ + setGroups(groups: java.util.List): void; + + /** + * Atribui o ID + */ + setId(id: number): void; + + /** + * Atribui o status de Ativo + */ + setIsActive(isActive: boolean): void; + + /** + * Atribui o login + */ + setLogin(login: string): void; + + /** + * Atribui a senha + */ + setPassword(password: string): void; + + /** + * Atribui os papéis + */ + setRoles(roles: java.util.List): void; + + /** + * Atribui o fuso horário + */ + setTimezone(timezone: string): void; + + /** + * Atribui o token de acesso + */ + setTokenAccess(token: string): void; + + /** + * Atribui a senha do token + */ + setTokenSecret(tokenSecret: string): void; + + /** + * Atribui o UUID + */ + setUserUUID(userUUID: string): void; + } +}