-
Notifications
You must be signed in to change notification settings - Fork 0
/
chunk-2TWGCIHV.js
94 lines (76 loc) · 33 KB
/
chunk-2TWGCIHV.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import{$ as s,Ga as e,Od as b,T as u,U as c,Wb as S,Xd as v,Yb as h,Yd as g,Zb as p,_ as d,ha as E,na as i,oa as t,pa as n,se as f,y as l}from"./chunk-V5DQALWN.js";var P=(()=>{class a{static \u0275fac=function(r){return new(r||a)};static \u0275cmp=d({type:a,selectors:[["sample-po-storage-doc"]],standalone:!1,decls:1269,vars:0,consts:[[1,"docs-api"],[1,"docs-api-module-import"],[1,"docs-api-class-description"],[1,"docs-api-h3"],[1,"docs-api-class-name"],[1,"doc-code"],["href","https://ionicframework.com/docs/storage/"],["href","https://dev.w3.org/html5/webdatabase/"],["href","https://www.w3.org/TR/IndexedDB/"],["href","https://html.spec.whatwg.org/multipage/webstorage.html"],["href","https://github.com/techfort/LokiJS/wiki"],["id","instalando-o-po-storage"],[1,"language-shell"],[1,"language-typescript"],["id","configurando-as-op\xE7\xF5es-de-armazenamento"],["href","documentation/po-storage#po-storage-config"],[1,"docs-api-h5","docs-api-method-header"],[1,"docs-api-method-table"],[1,"docs-api-properties-row"],["colspan","2",1,"docs-api-properties-name-cell"],[1,"docs-api-input-marker"],[1,"docs-api-input-alias"],[1,"docs-api-property-description"],[1,"docs-api-properties-table"],[1,"docs-api-properties-header-row"],[1,"docs-api-properties-th"],[1,"docs-api-properties-name-cell"],[1,"docs-api-properties-type-cell"],["pan","",1,"docs-api-property-type"],["href","documentation/po-storage#request-idle-promise"],["pan","",1,"docs-api-property-type","Function"],["id","request-idle-promise"],[1,"docs-api-h4","docs-api-class-name"],["id","po-storage-config"],["pan","",1,"docs-api-property-type","Array<string>"],["pan","",1,"docs-api-property-type","string"]],template:function(r,m){r&1&&(i(0,"div",0)(1,"p",1)(2,"code"),e(3,"import { PoStorage } from '@po-ui/ng-storage';"),t()(),n(4,"div",2),i(5,"h3",3),e(6,"Services"),t(),i(7,"h4",4)(8,"code",5),e(9,"PoStorageService"),t()(),i(10,"div",2)(11,"p"),e(12,`O PO Storage \xE9 uma biblioteca que fornece um servi\xE7o para armazenamento de dados no dispositivo local, sendo semelhante
ao funcionamento do `),i(13,"a",6),e(14,"IonicStorage"),t(),e(15,`.
\xC9 poss\xEDvel utilizar os drivers `),i(16,"a",7),e(17,"Websql"),t(),e(18,", "),i(19,"a",8),e(20,"Indexeddb"),t(),e(21,`,
`),i(22,"a",9),e(23,"LocalStorage"),t(),e(24," e tamb\xE9m "),i(25,"a",10),e(26,"LokiJS"),t(),e(27,"."),t(),i(28,"p"),e(29,"Para um melhor ganho de performance ao buscar e salvar dados, recomendamos a utiliza\xE7\xE3o do "),i(30,"code"),e(31,"LokiJS"),t(),e(32,", um "),i(33,"em"),e(34,"database"),t(),e(35,`
orientado a documento semelhante ao MongoDB, que al\xE9m de permitir a persist\xEAncia dos dados no dispositivo possibilita
tamb\xE9m o armazenamento dos dados em mem\xF3ria. Outra vantagem, \xE9 o aumento do limite de armazenamento para
aproximadamente `),i(36,"code"),e(37,"300mb"),t(),e(38,"."),t(),i(39,"p"),e(40,"A estrutura utilizada para armazenar os dados \xE9 a de chave/valor, onde uma chave funciona como um identificador exclusivo."),t(),i(41,"h4",11),e(42,"Instalando o PO Storage"),t(),i(43,"p"),e(44,"Para instalar o "),i(45,"code"),e(46,"po-storage"),t(),e(47," em sua aplica\xE7\xE3o execute o seguinte comando:"),t(),i(48,"pre")(49,"code",12),e(50,"ng add @po-ui/ng-storage"),t()(),i(51,"p"),e(52,"Ser\xE1 instalado o pacote "),i(53,"code"),e(54,"@po-ui/ng-storage"),t(),e(55," e tamb\xE9m j\xE1 importar\xE1 "),i(56,"code"),e(57,"PoStorageModule"),t(),e(58," no m\xF3dulo principal da sua aplica\xE7\xE3o, conforme abaixo:"),t(),i(59,"pre")(60,"code",13),e(61,`import { PoStorageModule } from '@po-ui/ng-storage';
@NgModule({
declarations: [...],
imports: [
// Importa\xE7\xE3o do m\xF3dulo PoStorageModule
PoStorageModule.forRoot(),
],
bootstrap: [IonicApp],
providers: [...]
})
export class AppModule {}`),t()(),i(62,"p"),e(63,"Com a declara\xE7\xE3o do m\xF3dulo, \xE9 criada uma base de dados no armazenamento local e o servi\xE7o "),i(64,"code"),e(65,"PoStorageService"),t(),e(66,` estar\xE1
pronto para ser utilizada na sua aplica\xE7\xE3o.`),t(),i(67,"h4",14),e(68,"Configurando as op\xE7\xF5es de armazenamento"),t(),i(69,"p"),e(70,"Na importa\xE7\xE3o do m\xF3dulo, o m\xE9todo "),i(71,"code"),e(72,"PoStorageModule.forRoot()"),t(),e(73,` pode receber como par\xE2metro um objeto do tipo
`),i(74,"a",15)(75,"code"),e(76,"PoStorageConfig"),t()(),e(77,`,
que serve para configurar as op\xE7\xF5es personalizadas do armazenamento, como por exemplo: o tipo de armazenamento
prefer\xEAncial.`),t(),i(78,"p"),e(79,"Caso n\xE3o seja passada nenhuma configura\xE7\xE3o a ordem padr\xE3o ser\xE1: ['websql', 'indexeddb', 'localstorage', 'lokijs']."),t(),i(80,"p"),e(81,"Abaixo segue um exemplo de configura\xE7\xE3o onde o storage preferencial passa a ser o "),i(82,"code"),e(83,"lokijs"),t(),e(84,":"),t(),i(85,"pre")(86,"code",13),e(87,`import { PoStorageModule } from '@po-ui/ng-storage';
@NgModule({
declarations: [...],
imports: [
// Importa\xE7\xE3o do m\xF3dulo PoStorageModule com a configura\xE7\xE3o personalizada
PoStorageModule.forRoot({
name: 'mystorage',
storeName: '_mystore',
driverOrder: ['lokijs', 'websql', 'indexeddb', 'localstorage']
}),
],
bootstrap: [IonicApp],
providers: [...]
})
export class AppModule {}`),t()()(),i(88,"h3",16),e(89,"M\xE9todos"),t(),i(90,"table",17)(91,"tr",18)(92,"th",19)(93,"div",20)(94,"h4")(95,"span",21),e(96," appendArrayToArray "),t()()()()(),i(97,"tr",22)(98,"td",22)(99,"p"),e(100,"Busca uma lista armazenada pela chave e concatena com a lista passada por par\xE2metro."),t(),i(101,"p"),e(102,"Por exemplo:"),t(),i(103,"pre")(104,"code",13),e(105,`const clients = [ { name: 'Marie', age: 23 }, { name: 'Pether', age: 39 }];
this.poStorageService.set('clientKey', clients).then(() => {});
...
const newClients = [ { name: 'Lisa', age: 36 }, { name: 'Bruce', age: 18 } ];
this.poStorageService.appendArrayToArray('clientKey', newClients).then(() => {
// A lista agora ser\xE1:
// [ { name: 'Marie', age: 23 }, { name: 'Pether', age: 39 }, { name: 'Lisa', age: 36 }, { name: 'Bruce', age: 18 }];
});`),t()()()()(),i(106,"h5")(107,"b"),e(108,"Par\xE2metros"),t()(),i(109,"table",23)(110,"tr",24)(111,"th",25),e(112,"Nome"),t(),i(113,"th",25),e(114,"Tipo"),t(),i(115,"th",25),e(116,"Descri\xE7\xE3o"),t()(),i(117,"tr",18)(118,"td",26),e(119," key"),t(),i(120,"td",27)(121,"code",28),e(122," string "),t()(),i(123,"td",22)(124,"p"),e(125,"Chave da lista armazenada."),t()()(),i(126,"tr",18)(127,"td",26),e(128," value"),t(),i(129,"td",27)(130,"code",28),e(131," Array "),t()(),i(132,"td",22)(133,"p"),e(134,"Lista que ser\xE1 concatenada."),t()()()(),i(135,"h5")(136,"b"),e(137,"Retorno"),t()(),i(138,"table",23)(139,"tr",24)(140,"th",25),e(141,"Tipo"),t(),i(142,"th",25),e(143,"Descri\xE7\xE3o"),t()(),i(144,"tr",18)(145,"td",27)(146,"code",28),e(147,"Promise<any>"),t()(),i(148,"td",22)(149,"p"),e(150,"Promessa que \xE9 resolvida ap\xF3s as duas listas serem concatenadas e armazenadas localmente."),t()()()(),n(151,"br"),i(152,"table",17)(153,"tr",18)(154,"th",19)(155,"div",20)(156,"h4")(157,"span",21),e(158," appendItemToArray "),t()()()()(),i(159,"tr",22)(160,"td",22)(161,"p"),e(162,"Acrescenta um item em uma lista armazenada pela chave."),t()()()(),i(163,"h5")(164,"b"),e(165,"Par\xE2metros"),t()(),i(166,"table",23)(167,"tr",24)(168,"th",25),e(169,"Nome"),t(),i(170,"th",25),e(171,"Tipo"),t(),i(172,"th",25),e(173,"Descri\xE7\xE3o"),t()(),i(174,"tr",18)(175,"td",26),e(176," key"),t(),i(177,"td",27)(178,"code",28),e(179," string "),t()(),i(180,"td",22)(181,"p"),e(182,"Chave da lista armazenada."),t()()(),i(183,"tr",18)(184,"td",26),e(185," value"),t(),i(186,"td",27)(187,"code",28),e(188," Array "),t()(),i(189,"td",22)(190,"p"),e(191,"Item que ser\xE1 acrescentado na lista."),t()()()(),i(192,"h5")(193,"b"),e(194,"Retorno"),t()(),i(195,"table",23)(196,"tr",24)(197,"th",25),e(198,"Tipo"),t(),i(199,"th",25),e(200,"Descri\xE7\xE3o"),t()(),i(201,"tr",18)(202,"td",27)(203,"code",28),e(204,"Promise<any>"),t()(),i(205,"td",22)(206,"p"),e(207,"Promessa que \xE9 resolvida ap\xF3s o item ser acrescentado na lista armazenada."),t()()()(),n(208,"br"),i(209,"table",17)(210,"tr",18)(211,"th",19)(212,"div",20)(213,"h4")(214,"span",21),e(215," clear "),t()()()()(),i(216,"tr",22)(217,"td",22)(218,"p"),e(219,"Remove todos os itens da base de dados local configurada na declara\xE7\xE3o do m\xF3dulo "),i(220,"code"),e(221,"PoStorageModule"),t(),e(222,"."),t(),i(223,"blockquote")(224,"p"),e(225,"Utilize este m\xE9todo com cautela, para evitar a perda indesejada de dados."),t()()()()(),i(226,"h5")(227,"b"),e(228,"Retorno"),t()(),i(229,"table",23)(230,"tr",24)(231,"th",25),e(232,"Tipo"),t(),i(233,"th",25),e(234,"Descri\xE7\xE3o"),t()(),i(235,"tr",18)(236,"td",27)(237,"code",28),e(238,"Promise<void>"),t()(),i(239,"td",22)(240,"p"),e(241,"Promessa que \xE9 resolvida ap\xF3s todos os itens da base de dados local serem removidos."),t()()()(),n(242,"br"),i(243,"table",17)(244,"tr",18)(245,"th",19)(246,"div",20)(247,"h4")(248,"span",21),e(249," exists "),t()()()()(),i(250,"tr",22)(251,"td",22)(252,"p"),e(253,"Verifica se existe um valor dentro de uma determinada chave."),t()()()(),i(254,"h5")(255,"b"),e(256,"Par\xE2metros"),t()(),i(257,"table",23)(258,"tr",24)(259,"th",25),e(260,"Nome"),t(),i(261,"th",25),e(262,"Tipo"),t(),i(263,"th",25),e(264,"Descri\xE7\xE3o"),t()(),i(265,"tr",18)(266,"td",26),e(267," key"),t(),i(268,"td",27)(269,"code",28),e(270," string "),t()(),i(271,"td",22)(272,"p"),e(273,"Chave que ser\xE1 verificada."),t()()()(),i(274,"h5")(275,"b"),e(276,"Retorno"),t()(),i(277,"table",23)(278,"tr",24)(279,"th",25),e(280,"Tipo"),t(),i(281,"th",25),e(282,"Descri\xE7\xE3o"),t()(),i(283,"tr",18)(284,"td",27)(285,"code",28),e(286,"Promise<boolean>"),t()(),i(287,"td",22)(288,"p"),e(289,"Promessa que \xE9 resolvida quando a verifica\xE7\xE3o da exist\xEAncia do valor na chave \xE9 conclu\xEDda."),t()()()(),n(290,"br"),i(291,"table",17)(292,"tr",18)(293,"th",19)(294,"div",20)(295,"h4")(296,"span",21),e(297," forEach "),t()()()()(),i(298,"tr",22)(299,"td",22)(300,"p"),e(301,"Itera sobre todas as chaves armazenadas."),t()()()(),i(302,"h5")(303,"b"),e(304,"Par\xE2metros"),t()(),i(305,"table",23)(306,"tr",24)(307,"th",25),e(308,"Nome"),t(),i(309,"th",25),e(310,"Tipo"),t(),i(311,"th",25),e(312,"Descri\xE7\xE3o"),t()(),i(313,"tr",18)(314,"td",26),e(315," iteratorCallback"),t(),i(316,"td",27)(317,"code",28),e(318," any "),t()(),i(319,"td",22)(320,"p"),e(321,"Fun\xE7\xE3o de "),i(322,"code"),e(323,"callback"),t(),e(324,` que \xE9 chamada a cada itera\xE7\xE3o, com os seguintes par\xE2metros:
valor, chave e n\xFAmero da itera\xE7\xE3o.`),t(),i(325,"p"),e(326,"Exemplo de utiliza\xE7\xE3o:"),t(),i(327,"pre")(328,"code",13),e(329,`this.poStorageService.forEach((value: any, key: string, iterationNumber: number) => {
// Itera\xE7\xE3o sobre cada chave armazenada.
});`),t()()()()(),i(330,"h5")(331,"b"),e(332,"Retorno"),t()(),i(333,"table",23)(334,"tr",24)(335,"th",25),e(336,"Tipo"),t(),i(337,"th",25),e(338,"Descri\xE7\xE3o"),t()(),i(339,"tr",18)(340,"td",27)(341,"code",28),e(342,"Promise<void>"),t()(),i(343,"td",22)(344,"p"),e(345,"Promessa que \xE9 resolvida ap\xF3s a itera\xE7\xE3o sobre todas as chaves armazenadas."),t()()()(),n(346,"br"),i(347,"table",17)(348,"tr",18)(349,"th",19)(350,"div",20)(351,"h4")(352,"span",21),e(353," get "),t()()()()(),i(354,"tr",22)(355,"td",22)(356,"p"),e(357,"Retorna o valor armazenado em uma determinada chave."),t()()()(),i(358,"h5")(359,"b"),e(360,"Par\xE2metros"),t()(),i(361,"table",23)(362,"tr",24)(363,"th",25),e(364,"Nome"),t(),i(365,"th",25),e(366,"Tipo"),t(),i(367,"th",25),e(368,"Descri\xE7\xE3o"),t()(),i(369,"tr",18)(370,"td",26),e(371," key"),t(),i(372,"td",27)(373,"code",28),e(374," string "),t()(),i(375,"td",22)(376,"p"),e(377,"Chave que identifica o item."),t()()(),i(378,"tr",18)(379,"td",26),e(380," lock"),t(),i(381,"td",27)(382,"code",28),e(383," boolean "),t()(),i(384,"td",22)(385,"p"),e(386,`Define se ir\xE1 travar a leitura e a escrita da base de dados para n\xE3o ser acessada de forma paralela.
Caso outra leitura/escrita j\xE1 tenha sido iniciada, este m\xE9todo ir\xE1 esperar o outro terminar para ent\xE3o come\xE7ar.`),t(),i(387,"p"),e(388,"Padr\xE3o: "),i(389,"code"),e(390,"false"),t(),e(391,"."),t(),i(392,"blockquote")(393,"p"),e(394,"Esta defini\xE7\xE3o s\xF3 ser\xE1 v\xE1lida se o outro acesso paralelo a este m\xE9todo tamb\xE9m estiver com o par\xE2metro "),i(395,"em"),e(396,"lock"),t(),e(397," ativado."),t()()()()(),i(398,"h5")(399,"b"),e(400,"Retorno"),t()(),i(401,"table",23)(402,"tr",24)(403,"th",25),e(404,"Tipo"),t(),i(405,"th",25),e(406,"Descri\xE7\xE3o"),t()(),i(407,"tr",18)(408,"td",27)(409,"code",28),e(410,"Promise<any>"),t()(),i(411,"td",22)(412,"p"),e(413,"Promessa que \xE9 resolvida ap\xF3s o item ser buscado."),t()()()(),n(414,"br"),i(415,"table",17)(416,"tr",18)(417,"th",19)(418,"div",20)(419,"h4")(420,"span",21),e(421," getDriver "),t()()()()(),i(422,"tr",22)(423,"td",22)(424,"p"),e(425,"Retorna o nome do "),i(426,"em"),e(427,"driver"),t(),e(428," que est\xE1 sendo usado para armazenar os dados, por exemplo: localStorage."),t()()()(),i(429,"h5")(430,"b"),e(431,"Retorno"),t()(),i(432,"table",23)(433,"tr",24)(434,"th",25),e(435,"Tipo"),t(),i(436,"th",25),e(437,"Descri\xE7\xE3o"),t()(),i(438,"tr",18)(439,"td",27)(440,"code",28),e(441,"string | null"),t()(),i(442,"td",22)(443,"p"),e(444,"Nome do "),i(445,"em"),e(446,"driver"),t(),e(447,"."),t()()()(),n(448,"br"),i(449,"table",17)(450,"tr",18)(451,"th",19)(452,"div",20)(453,"h4")(454,"span",21),e(455," getFirstItem "),t()()()()(),i(456,"tr",22)(457,"td",22)(458,"p"),e(459,"Retorna o primeiro item de uma lista para uma determinada chave."),t()()()(),i(460,"h5")(461,"b"),e(462,"Par\xE2metros"),t()(),i(463,"table",23)(464,"tr",24)(465,"th",25),e(466,"Nome"),t(),i(467,"th",25),e(468,"Tipo"),t(),i(469,"th",25),e(470,"Descri\xE7\xE3o"),t()(),i(471,"tr",18)(472,"td",26),e(473," key"),t(),i(474,"td",27)(475,"code",28),e(476," string "),t()(),i(477,"td",22)(478,"p"),e(479,"Chave da lista."),t()()()(),i(480,"h5")(481,"b"),e(482,"Retorno"),t()(),i(483,"table",23)(484,"tr",24)(485,"th",25),e(486,"Tipo"),t(),i(487,"th",25),e(488,"Descri\xE7\xE3o"),t()(),i(489,"tr",18)(490,"td",27)(491,"code",28),e(492,"Promise<any>"),t()(),i(493,"td",22)(494,"p"),e(495,"Promessa que \xE9 resolvida ap\xF3s o primeiro item ser encontrado."),t()()()(),n(496,"br"),i(497,"table",17)(498,"tr",18)(499,"th",19)(500,"div",20)(501,"h4")(502,"span",21),e(503," getItemAndRemove "),t()()()()(),i(504,"tr",22)(505,"td",22)(506,"p"),e(507,"Remove o primeiro item de uma lista a partir da chave."),t()()()(),i(508,"h5")(509,"b"),e(510,"Par\xE2metros"),t()(),i(511,"table",23)(512,"tr",24)(513,"th",25),e(514,"Nome"),t(),i(515,"th",25),e(516,"Tipo"),t(),i(517,"th",25),e(518,"Descri\xE7\xE3o"),t()(),i(519,"tr",18)(520,"td",26),e(521," key"),t(),i(522,"td",27)(523,"code",28),e(524," string "),t()(),i(525,"td",22)(526,"p"),e(527,"Chave da lista que ser\xE1 removido o primeiro item."),t()()()(),i(528,"h5")(529,"b"),e(530,"Retorno"),t()(),i(531,"table",23)(532,"tr",24)(533,"th",25),e(534,"Tipo"),t(),i(535,"th",25),e(536,"Descri\xE7\xE3o"),t()(),i(537,"tr",18)(538,"td",27)(539,"code",28),e(540,"Promise<any>"),t()(),i(541,"td",22)(542,"p"),e(543,"Promessa que \xE9 resolvida ap\xF3s o primeiro item da lista ser removido."),t()()()(),n(544,"br"),i(545,"table",17)(546,"tr",18)(547,"th",19)(548,"div",20)(549,"h4")(550,"span",21),e(551," getItemByField "),t()()()()(),i(552,"tr",22)(553,"td",22)(554,"p"),e(555,"Busca o primeiro objeto encontrado dentro de uma lista pelo do valor de um campo."),t(),i(556,"p"),e(557,"Por exemplo:"),t(),i(558,"pre")(559,"code",13),e(560,`const clients = [ { name: 'Marie', age: 23 }, { name: 'Pether', age: 39 }];
this.poStorageService.set('clientKey', clients).then(() => {});
...
this.poStorageService.getItemByField('clientKey', 'name', 'Marie').then(client => {
// Resultado do console.log: { name: 'Marie', age: 23 }
console.log(client);
});`),t()()()()(),i(561,"h5")(562,"b"),e(563,"Par\xE2metros"),t()(),i(564,"table",23)(565,"tr",24)(566,"th",25),e(567,"Nome"),t(),i(568,"th",25),e(569,"Tipo"),t(),i(570,"th",25),e(571,"Descri\xE7\xE3o"),t()(),i(572,"tr",18)(573,"td",26),e(574," key"),t(),i(575,"td",27)(576,"code",28),e(577," string "),t()(),i(578,"td",22)(579,"p"),e(580,"Chave da lista."),t()()(),i(581,"tr",18)(582,"td",26),e(583," fieldName"),t(),i(584,"td",27)(585,"code",28),e(586," string "),t()(),i(587,"td",22)(588,"p"),e(589,"O campo a ser filtrado."),t()()(),i(590,"tr",18)(591,"td",26),e(592," fieldValue"),t(),i(593,"td",27)(594,"code",28),e(595," any "),t()(),i(596,"td",22)(597,"p"),e(598,"O valor do campo."),t()()()(),i(599,"h5")(600,"b"),e(601,"Retorno"),t()(),i(602,"table",23)(603,"tr",24)(604,"th",25),e(605,"Tipo"),t(),i(606,"th",25),e(607,"Descri\xE7\xE3o"),t()(),i(608,"tr",18)(609,"td",27)(610,"code",28),e(611,"Promise<any>"),t()(),i(612,"td",22)(613,"p"),e(614,"Promessa que \xE9 resolvida com o item que foi encontrado."),t()()()(),n(615,"br"),i(616,"table",17)(617,"tr",18)(618,"th",19)(619,"div",20)(620,"h4")(621,"span",21),e(622," keys "),t()()()()(),i(623,"tr",22)(624,"td",22)(625,"p"),e(626,"Lista com todas as chaves armazenadas."),t()()()(),i(627,"h5")(628,"b"),e(629,"Retorno"),t()(),i(630,"table",23)(631,"tr",24)(632,"th",25),e(633,"Tipo"),t(),i(634,"th",25),e(635,"Descri\xE7\xE3o"),t()(),i(636,"tr",18)(637,"td",27)(638,"code",28),e(639,"Promise<Array<string>>"),t()(),i(640,"td",22)(641,"p"),e(642,"Promessa que \xE9 resolvida com todas as chaves armazenadas."),t()()()(),n(643,"br"),i(644,"table",17)(645,"tr",18)(646,"th",19)(647,"div",20)(648,"h4")(649,"span",21),e(650," length "),t()()()()(),i(651,"tr",22)(652,"td",22)(653,"p"),e(654,"Quantidade de chaves armazenadas."),t()()()(),i(655,"h5")(656,"b"),e(657,"Retorno"),t()(),i(658,"table",23)(659,"tr",24)(660,"th",25),e(661,"Tipo"),t(),i(662,"th",25),e(663,"Descri\xE7\xE3o"),t()(),i(664,"tr",18)(665,"td",27)(666,"code",28),e(667,"Promise<number>"),t()(),i(668,"td",22)(669,"p"),e(670,"Promessa que \xE9 resolvida com o n\xFAmero de chaves armazenadas."),t()()()(),n(671,"br"),i(672,"table",17)(673,"tr",18)(674,"th",19)(675,"div",20)(676,"h4")(677,"span",21),e(678," limitedCallWrap "),t()()()()(),i(679,"tr",22)(680,"td",22)(681,"p"),e(682,"Utilizado para gerenciar o bloqueio e desbloqueio de recursos no "),i(683,"code"),e(684,"PoStorageService"),t(),e(685,`.
Aguardando a libera\xE7\xE3o da utiliza\xE7\xE3o dos recursos que participam deste comportamento e posteriormente envolve o recurso
passado como par\xE2metro em um comportamento de bloqueio e desbloqueio.`),t(),i(686,"p"),e(687,"Este m\xE9todo se comporta igual a utiliza\xE7\xE3o em conjunta dos m\xE9todos: "),i(688,"code"),e(689,"PoStorageService.requestIdlePromise()"),t(),e(690,`,
`),i(691,"code"),e(692,"PoStorageService.lock()"),t(),e(693," e "),i(694,"code"),e(695,"PoStorageService.unlook()"),t(),e(696,"."),t(),i(697,"p"),e(698,"Veja mais no m\xE9todo: "),i(699,"a",29)(700,"code"),e(701,"PoStorage.requestIdlePromise()"),t()(),e(702,"."),t()()()(),i(703,"h5")(704,"b"),e(705,"Par\xE2metros"),t()(),i(706,"table",23)(707,"tr",24)(708,"th",25),e(709,"Nome"),t(),i(710,"th",25),e(711,"Tipo"),t(),i(712,"th",25),e(713,"Descri\xE7\xE3o"),t()(),i(714,"tr",18)(715,"td",26),e(716," limitedResource"),t(),i(717,"td",27)(718,"code",30),e(719," Function "),t()(),i(720,"td",22)(721,"p"),e(722,"Fun\xE7\xE3o que ser\xE1 envolvida no comportamento de bloqueio e desbloqueio."),t()()()(),n(723,"br"),i(724,"table",17)(725,"tr",18)(726,"th",19)(727,"div",20)(728,"h4")(729,"span",21),e(730," lock "),t()()()()(),i(731,"tr",22)(732,"td",22)(733,"p"),e(734,"Incrementa um valor na fila de bloqueio do "),i(735,"code"),e(736,"PoStorageService"),t(),e(737,". Utilizado juntamente com o m\xE9todo "),i(738,"code"),e(739,"unlock"),t(),e(740,` para poder
controlar a execu\xE7\xE3o de uma determinada tarefa com o `),i(741,"code"),e(742,"PoStorage.requestIdlePromise()"),t(),e(743,"."),t(),i(744,"p"),e(745,"Veja mais no m\xE9todo: "),i(746,"a",29)(747,"code"),e(748,"PoStorage.requestIdlePromise()"),t()(),e(749,"."),t()()()(),n(750,"br"),i(751,"table",17)(752,"tr",18)(753,"th",19)(754,"div",20)(755,"h4")(756,"span",21),e(757," ready "),t()()()()(),i(758,"tr",22)(759,"td",22)(760,"p"),e(761,"Determina se o processo de inicializa\xE7\xE3o do "),i(762,"em"),e(763,"driver"),t(),e(764," ass\xEDncrono foi conclu\xEDdo."),t()()()(),i(765,"h5")(766,"b"),e(767,"Retorno"),t()(),i(768,"table",23)(769,"tr",24)(770,"th",25),e(771,"Tipo"),t(),i(772,"th",25),e(773,"Descri\xE7\xE3o"),t()(),i(774,"tr",18)(775,"td",27)(776,"code",28),e(777,"Promise<LocalForage>"),t()(),i(778,"td",22)(779,"p"),e(780,"Promessa que \xE9 resolvida quando o processo de inicializa\xE7\xE3o do "),i(781,"em"),e(782,"driver"),t(),e(783,` ass\xEDncrono
for conclu\xEDdo.`),t()()()(),n(784,"br"),i(785,"table",17)(786,"tr",18)(787,"th",19)(788,"div",20)(789,"h4")(790,"span",21),e(791," remove "),t()()()()(),i(792,"tr",22)(793,"td",22)(794,"p"),e(795,"Remove um valor associado a uma chave."),t()()()(),i(796,"h5")(797,"b"),e(798,"Par\xE2metros"),t()(),i(799,"table",23)(800,"tr",24)(801,"th",25),e(802,"Nome"),t(),i(803,"th",25),e(804,"Tipo"),t(),i(805,"th",25),e(806,"Descri\xE7\xE3o"),t()(),i(807,"tr",18)(808,"td",26),e(809," key"),t(),i(810,"td",27)(811,"code",28),e(812," key "),t()(),i(813,"td",22)(814,"p"),e(815,"Chave do valor que ser\xE1 removido."),t()()()(),i(816,"h5")(817,"b"),e(818,"Retorno"),t()(),i(819,"table",23)(820,"tr",24)(821,"th",25),e(822,"Tipo"),t(),i(823,"th",25),e(824,"Descri\xE7\xE3o"),t()(),i(825,"tr",18)(826,"td",27)(827,"code",28),e(828,"Promise<any>"),t()(),i(829,"td",22)(830,"p"),e(831,"Promessa que \xE9 resolvida ap\xF3s o valor ser removido."),t()()()(),n(832,"br"),i(833,"table",17)(834,"tr",18)(835,"th",19)(836,"div",20)(837,"h4")(838,"span",21),e(839," removeIndexFromObject "),t()()()()(),i(840,"tr",22)(841,"td",22)(842,"p"),e(843,"Remove uma propriedade de um objeto armazenado."),t()()()(),i(844,"h5")(845,"b"),e(846,"Par\xE2metros"),t()(),i(847,"table",23)(848,"tr",24)(849,"th",25),e(850,"Nome"),t(),i(851,"th",25),e(852,"Tipo"),t(),i(853,"th",25),e(854,"Descri\xE7\xE3o"),t()(),i(855,"tr",18)(856,"td",26),e(857," key"),t(),i(858,"td",27)(859,"code",28),e(860," string "),t()(),i(861,"td",22)(862,"p"),e(863,"Chave do objeto armazenado."),t()()(),i(864,"tr",18)(865,"td",26),e(866," property"),t(),i(867,"td",27)(868,"code",28),e(869," string "),t()(),i(870,"td",22)(871,"p"),e(872,"Propriedade que ser\xE1 removida."),t()()()(),i(873,"h5")(874,"b"),e(875,"Retorno"),t()(),i(876,"table",23)(877,"tr",24)(878,"th",25),e(879,"Tipo"),t(),i(880,"th",25),e(881,"Descri\xE7\xE3o"),t()(),i(882,"tr",18)(883,"td",27)(884,"code",28),e(885,"Promise<any>"),t()(),i(886,"td",22)(887,"p"),e(888,"Promessa que \xE9 resolvida ap\xF3s a propriedade ser removida."),t()()()(),n(889,"br"),i(890,"table",17)(891,"tr",18)(892,"th",19)(893,"div",20)(894,"h4")(895,"span",21),e(896," removeItemFromArray "),t()()()()(),i(897,"tr",22)(898,"td",22)(899,"p"),e(900,"Remove um objeto de uma lista armazenada pelo valor de uma propriedade."),t(),i(901,"p"),e(902,"Por exemplo:"),t(),i(903,"pre")(904,"code",13),e(905,`const clients = [ { name: 'Marie', age: 23 }, { name: 'Pether', age: 39 }];
this.poStorageService.set('clientKey', clients).then(() => {});
...
this.poStorageService.removeItemFromArray('clientKey', 'name', 'Marie').then(() => {
// O objeto { name: 'Marie', age: 23 } foi removido da lista que est\xE1 na chave 'clientKey'
});`),t()()()()(),i(906,"h5")(907,"b"),e(908,"Par\xE2metros"),t()(),i(909,"table",23)(910,"tr",24)(911,"th",25),e(912,"Nome"),t(),i(913,"th",25),e(914,"Tipo"),t(),i(915,"th",25),e(916,"Descri\xE7\xE3o"),t()(),i(917,"tr",18)(918,"td",26),e(919," key"),t(),i(920,"td",27)(921,"code",28),e(922," string "),t()(),i(923,"td",22)(924,"p"),e(925,"Chave da lista que cont\xE9m o item que ser\xE1 removido."),t()()(),i(926,"tr",18)(927,"td",26),e(928," field"),t(),i(929,"td",27)(930,"code",28),e(931," string "),t()(),i(932,"td",22)(933,"p"),e(934,"O campo a ser filtrado no item."),t()()(),i(935,"tr",18)(936,"td",26),e(937," value"),t(),i(938,"td",27)(939,"code",28),e(940," string "),t()(),i(941,"td",22)(942,"p"),e(943,"O valor do filtro."),t()()()(),i(944,"h5")(945,"b"),e(946,"Retorno"),t()(),i(947,"table",23)(948,"tr",24)(949,"th",25),e(950,"Tipo"),t(),i(951,"th",25),e(952,"Descri\xE7\xE3o"),t()(),i(953,"tr",18)(954,"td",27)(955,"code",28),e(956,"Promise<any>"),t()(),i(957,"td",22)(958,"p"),e(959,"Promessa que \xE9 resolvida quando o objeto for removido da lista."),t()()()(),n(960,"br"),i(961,"table",17)(962,"tr",18)(963,"th",19)(964,"div",20)(965,"h4")(966,"span",21),e(967," requestIdlePromise "),t()()()()(),i(968,"tr",22)(969,"td",22)(970,"p"),n(971,"a",31),e(972,`
M\xE9todo que verifica se o acesso a base de dados configurada est\xE1 liberado.`),t(),i(973,"p"),e(974,"Utilizado em conjunto com os m\xE9todos "),i(975,"code"),e(976,"lock()"),t(),e(977," e "),i(978,"code"),e(979,"unlock()"),t(),e(980,` entre tarefas que n\xE3o podem ser executadas de forma
paralela, para n\xE3o causar inconsist\xEAncias nos dados.`),t(),i(981,"p"),e(982,"Exemplo de utiliza\xE7\xE3o:"),t(),i(983,"pre")(984,"code"),e(985,`// Aguarda a libera\xE7\xE3o para continuar
await this.poStorage.requestIdlePromise();
this.poStorage.lock();
// Executa uma tarefa que ir\xE1 ler e/ou escrever na base de dados configurada.
this.poStorage.unlock();`),t()(),i(986,"blockquote")(987,"p"),e(988,"\xC9 importante sempre utiliz\xE1-lo antes de executar os m\xE9todos "),i(989,"code"),e(990,"lock()"),t(),e(991," e "),i(992,"code"),e(993,"unlock()"),t(),e(994,` para garantir que a tarefa s\xF3
ser\xE1 executada caso o acesso esteja livre.`),t()()()()(),i(995,"h5")(996,"b"),e(997,"Retorno"),t()(),i(998,"table",23)(999,"tr",24)(1e3,"th",25),e(1001,"Tipo"),t(),i(1002,"th",25),e(1003,"Descri\xE7\xE3o"),t()(),i(1004,"tr",18)(1005,"td",27)(1006,"code",28),e(1007,"Promise<any>"),t()(),i(1008,"td",22)(1009,"p"),e(1010,"Promessa que \xE9 resolvida quando o acesso a base de dados configurada estiver liberado."),t()()()(),n(1011,"br"),i(1012,"table",17)(1013,"tr",18)(1014,"th",19)(1015,"div",20)(1016,"h4")(1017,"span",21),e(1018," set "),t()()()()(),i(1019,"tr",22)(1020,"td",22)(1021,"p"),e(1022,"Grava um valor em uma determinada chave."),t()()()(),i(1023,"h5")(1024,"b"),e(1025,"Par\xE2metros"),t()(),i(1026,"table",23)(1027,"tr",24)(1028,"th",25),e(1029,"Nome"),t(),i(1030,"th",25),e(1031,"Tipo"),t(),i(1032,"th",25),e(1033,"Descri\xE7\xE3o"),t()(),i(1034,"tr",18)(1035,"td",26),e(1036," key"),t(),i(1037,"td",27)(1038,"code",28),e(1039," string "),t()(),i(1040,"td",22)(1041,"p"),e(1042,"Chave para o valor que ser\xE1 gravado."),t()()(),i(1043,"tr",18)(1044,"td",26),e(1045," value"),t(),i(1046,"td",27)(1047,"code",28),e(1048," any "),t()(),i(1049,"td",22)(1050,"p"),e(1051,"Valor que ser\xE1 gravado."),t()()(),i(1052,"tr",18)(1053,"td",26),e(1054," lock"),t(),i(1055,"td",27)(1056,"code",28),e(1057," boolean "),t()(),i(1058,"td",22)(1059,"p"),e(1060,`Define se ir\xE1 travar a leitura e a escrita da base de dados para n\xE3o ser acessada de forma paralela.
Caso outra leitura/escrita j\xE1 tenha sido iniciada, este m\xE9todo ir\xE1 esperar o outro terminar para ent\xE3o come\xE7ar.`),t(),i(1061,"p"),e(1062,"Padr\xE3o: "),i(1063,"code"),e(1064,"false"),t(),e(1065,"."),t(),i(1066,"blockquote")(1067,"p"),e(1068,"Esta defini\xE7\xE3o s\xF3 ser\xE1 v\xE1lida se o outro acesso paralelo a este m\xE9todo tamb\xE9m estiver com o par\xE2metro "),i(1069,"em"),e(1070,"lock"),t(),e(1071," ativado."),t()()()()(),i(1072,"h5")(1073,"b"),e(1074,"Retorno"),t()(),i(1075,"table",23)(1076,"tr",24)(1077,"th",25),e(1078,"Tipo"),t(),i(1079,"th",25),e(1080,"Descri\xE7\xE3o"),t()(),i(1081,"tr",18)(1082,"td",27)(1083,"code",28),e(1084,"Promise<any>"),t()(),i(1085,"td",22)(1086,"p"),e(1087,"Promessa que \xE9 resolvida ap\xF3s o valor ter sido gravado."),t()()()(),n(1088,"br"),i(1089,"table",17)(1090,"tr",18)(1091,"th",19)(1092,"div",20)(1093,"h4")(1094,"span",21),e(1095," setIndexToObject "),t()()()()(),i(1096,"tr",22)(1097,"td",22)(1098,"p"),e(1099,"Atribui um valor a uma propriedade de um objeto armazenado pela chave."),t(),i(1100,"p"),e(1101,"Por exemplo:"),t(),i(1102,"pre")(1103,"code",13),e(1104,`const clients = [ { name: 'Marie', age: 23 }, { name: 'Pether', age: 39 }];
this.poStorageService.set('clientKey', clients).then(() => {});
...
this.poStorageService.setIndexToObject('clientKey', 'name', 'Clare').then(() => {
// O objeto { name: 'Marie', age: 23 } passa a ser { name: 'Clare', age: 23 }
});`),t()()()()(),i(1105,"h5")(1106,"b"),e(1107,"Par\xE2metros"),t()(),i(1108,"table",23)(1109,"tr",24)(1110,"th",25),e(1111,"Nome"),t(),i(1112,"th",25),e(1113,"Tipo"),t(),i(1114,"th",25),e(1115,"Descri\xE7\xE3o"),t()(),i(1116,"tr",18)(1117,"td",26),e(1118," key"),t(),i(1119,"td",27)(1120,"code",28),e(1121," string "),t()(),i(1122,"td",22)(1123,"p"),e(1124,"Chave do objeto."),t()()(),i(1125,"tr",18)(1126,"td",26),e(1127," property"),t(),i(1128,"td",27)(1129,"code",28),e(1130," string "),t()(),i(1131,"td",22)(1132,"p"),e(1133,"Nome da propriedade do objeto."),t()()(),i(1134,"tr",18)(1135,"td",26),e(1136," value"),t(),i(1137,"td",27)(1138,"code",28),e(1139," any "),t()(),i(1140,"td",22)(1141,"p"),e(1142,"Valor que ser\xE1 gravado na propriedade do objeto."),t()()()(),n(1143,"br"),i(1144,"table",17)(1145,"tr",18)(1146,"th",19)(1147,"div",20)(1148,"h4")(1149,"span",21),e(1150," unlock "),t()()()()(),i(1151,"tr",22)(1152,"td",22)(1153,"p"),e(1154,"Decrementa um valor na fila de bloqueio. Utilizado juntamente com o m\xE9todo "),i(1155,"code"),e(1156,"lock"),t(),e(1157,` para poder
controlar a execu\xE7\xE3o de uma determinada tarefa com o `),i(1158,"code"),e(1159,"PoStorage.requestIdlePromise()"),t(),e(1160,"."),t(),i(1161,"p"),e(1162,"Veja mais no m\xE9todo: "),i(1163,"a",29)(1164,"code"),e(1165,"PoStorage.requestIdlePromise()"),t()(),e(1166,"."),t()()()(),n(1167,"br"),i(1168,"h3"),e(1169,"Interfaces"),t(),i(1170,"h4",32)(1171,"code",5),e(1172,"PoStorageConfig"),t()(),i(1173,"div",2)(1174,"p"),n(1175,"a",33),t(),i(1176,"p"),e(1177,"Interface para as configura\xE7\xF5es da base de dados local do "),i(1178,"code"),e(1179,"PoStorageService"),t(),e(1180,"."),t()(),i(1181,"h4",16),e(1182,"Propriedades"),t(),i(1183,"table",23)(1184,"tr",24)(1185,"th",25),e(1186,"Nome"),t(),i(1187,"th",25),e(1188,"Tipo"),t(),i(1189,"th",25),e(1190,"Descri\xE7\xE3o"),t()(),i(1191,"tr",18)(1192,"td",26)(1193,"div",20)(1194,"span",21),e(1195," driverOrder"),n(1196,"br"),t()()(),i(1197,"td",27)(1198,"code",34),e(1199,"Array<string>"),t()(),i(1200,"td",22)(1201,"em")(1202,"strong"),e(1203,"(opcional)"),t()(),i(1204,"p"),e(1205,"Ordem de prefer\xEAncia dos "),i(1206,"em"),e(1207,"drivers"),t(),e(1208," para grava\xE7\xE3o dos dados."),t(),i(1209,"p"),e(1210,"Os "),i(1211,"em"),e(1212,"drivers"),t(),e(1213," utilizados pelo "),i(1214,"code"),e(1215,"PoStorageService"),t(),e(1216," s\xE3o:"),t(),i(1217,"ul")(1218,"li")(1219,"code"),e(1220,"indexeddb"),t(),e(1221,";"),t(),i(1222,"li")(1223,"code"),e(1224,"websql"),t(),e(1225,";"),t(),i(1226,"li")(1227,"code"),e(1228,"localstorage"),t(),e(1229,";"),t(),i(1230,"li")(1231,"code"),e(1232,"lokijs"),t(),e(1233,"."),t()(),i(1234,"p"),e(1235,"Exemplo de ordem de prefer\xEAncia: "),i(1236,"code"),e(1237,"['lokijs', 'websql', 'indexeddb', 'localstorage']"),t(),e(1238,"."),t()()(),i(1239,"tr",18)(1240,"td",26)(1241,"div",20)(1242,"span",21),e(1243," name"),n(1244,"br"),t()()(),i(1245,"td",27)(1246,"code",35),e(1247,"string"),t()(),i(1248,"td",22)(1249,"em")(1250,"strong"),e(1251,"(opcional)"),t()(),i(1252,"p"),e(1253,"Nome da base de dados."),t()()(),i(1254,"tr",18)(1255,"td",26)(1256,"div",20)(1257,"span",21),e(1258," storeName"),n(1259,"br"),t()()(),i(1260,"td",27)(1261,"code",35),e(1262,"string"),t()(),i(1263,"td",22)(1264,"em")(1265,"strong"),e(1266,"(opcional)"),t()(),i(1267,"p"),e(1268,'Nome da cole\xE7\xE3o onde os dados ser\xE3o armazenados. Deve ser alfanum\xE9rico e conter "_"(underscores).'),t()()()()())},encapsulation:2})}return a})();var y=(()=>{class a{route;router;sub;hidePoWebSample=!0;samplesLength=0;activeTab="doc";actions=[{label:"Documenta\xE7\xE3o",action:this.goBack.bind(this),icon:"ph ph-file-text"},{label:"Colabore",action:this.improveDocs.bind(this)}];constructor(o,r){this.route=o,this.router=r}goBack(){this.router.navigate(["documentation"])}improveDocs(){this.router.navigate(["guides/development-flow"])}ngOnInit(){this.sub=this.route.queryParams.subscribe(o=>{let r=o.view;this.activeTab=r||"doc",this.hidePoWebSample=this.samplesLength===0})}ngOnDestroy(){this.sub.unsubscribe()}static \u0275fac=function(r){return new(r||a)(c(S),c(h))};static \u0275cmp=d({type:a,selectors:[["ng-component"]],standalone:!1,decls:5,vars:4,consts:[["p-title"," Storage",3,"p-actions"],["p-size","1"],["p-label","Documenta\xE7\xE3o",3,"p-active"],["p-label","Exemplos",3,"p-hide","p-active"]],template:function(r,m){r&1&&(i(0,"po-page-default",0)(1,"po-tabs",1)(2,"po-tab",2),n(3,"sample-po-storage-doc"),t(),n(4,"po-tab",3),t()()),r&2&&(E("p-actions",m.actions),u(2),E("p-active",m.activeTab.includes("doc")),u(2),E("p-hide",m.hidePoWebSample)("p-active",m.activeTab.includes("web")))},dependencies:[b,v,g,P],encapsulation:2})}return a})();var k=[{path:"",component:y}],q=(()=>{class a{static \u0275fac=function(r){return new(r||a)};static \u0275mod=s({type:a});static \u0275inj=l({imports:[p.forChild(k),p]})}return a})();var L=(()=>{class a{static \u0275fac=function(r){return new(r||a)};static \u0275mod=s({type:a});static \u0275inj=l({imports:[f,q]})}return a})();export{L as DocPoStorageModule};