O FirestoreObject representa um objeto que tem como origem a base de dados.
Sintaxe
Copy import { FirestoreObject } from "Models" ;
class ChildClass extends FirestoreObject {
constructor (path){
super (path);
criarAtributoReferencial ( "path" );
...
}
...
}
Propriedades
path
path: string | null
Uma propriedade que define o caminho de acesso no firestore para o objeto.
Exemplo:
Copy import { FirestoreObject } from "Models" ;
class Usuario extends FirestoreObject {
constructor (path){
super (path);
}
}
let usuario = new Usuario ( "Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" );
console .log ( usuario .path);
// Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
Métodos
addInvisibleProperty
addInvisibleProperty ( key : string ) : any
Um método que recebe como parâmetro key : string que defina a chave da propriedade do objeto que será invisível.
Exemplo:
Copy import { FirestoreObject } from "Models" ;
class Usuario extends FirestoreObject {
constructor (path , nome){
super (path);
this .nome = nome || "" ;
this .addInvisibleProperty ( "nome" );
}
}
corrigirReferencia
corrigirReferencia ( value : string ) : string
Uma função que corrige o parâmetro value : string de referência formatando o caminha de acesso no firestore.
Exemplo:
Copy import { FirestoreObject } from "Models" ;
class Usuario extends FirestoreObject {
constructor (path , nome){
super (path);
}
}
let usuario = new Usuario ( "/Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx/" );
let path = usuario .corrigirReferencia ( usuario .path);
console .log (path);
// Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
criarAtributoReferencial
criarAtributoReferencial ( nome : string , enumeravel ? : boolean ) : any
Um método que indique uma propriedade de referência recebendo seu nome de propriedade como parâmetro. Como por exemplo, a propriedade path , quando essa propriedade ser alterada, acionará automaticamente a função corrigirReferencia para que o path informado, seja corrigido para o formado correto.
Copy import { FirestoreObject } from "Models" ;
class Usuario extends FirestoreObject {
constructor (path , nome){
super (path);
criarAtributoReferencial ( "path" );
}
}
let usuario = new Usuario ();
usuario .path = "/Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx/" ;
console .log ( usuario .path);
// Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
toJson
toJson( target ? : Object ) : Object
Método que converte o objeto atual ou passado como parâmetro em um formato JSON .
Copy import { FirestoreObject } from "Models" ;
class Usuario extends FirestoreObject {
constructor (path , nome){
super (path);
criarAtributoReferencial ( "path" );
this .nome = nome || "" ;
}
}
let usuario = new Usuario ( "/Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx/" , "Fulano" );
console .log ( usuario .toJson ());
//Ou
console .log ( Usuario .toJson (usuario));
/* object Usuario {
"path": "Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",
"nome": "Fulano"
} */
parse
parse ( path : string | null , objetoGenerico : Object ) : Object
Esse método é útil para quando pretende importar informações em um objeto no formato JSON para o objeto estrutural. Lembrando que o parâmetro path se refere ao caminho de acesso no firestore para o objeto e o parâmetro objetoGenerico se refere ao objeto genérico JSON .
Copy import { FirestoreObject } from "Models" ;
class Usuario extends FirestoreObject {
constructor (path , nome){
super (path);
criarAtributoReferencial ( "path" );
this .nome = nome || "" ;
}
}
let objetoGenerico = {
"path" : "Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" ,
"nome" : "Fulano"
};
let usuario = new Usuario () .parse ( objetoGenerico .path , objetoGenerico);
console .log ( usuario .toJson ());
/* object Usuario {
"path": "Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",
"nome": "Fulano"
} */