refactoring(plugins/home): Remove unnecessary injection
This patch removes the injection of localStorage and randomUUID. Signed-off-by: Renan Mendes Carvalho <aitherios@gmail.com> Co-authored-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
committed by
Camila Belo
parent
6c93a6799e
commit
64caa4bf20
@@ -85,7 +85,6 @@ export class CoreStorageVisitsApi extends VisitsApiFactory {
|
||||
// @public (undocumented)
|
||||
export type CoreStorageVisitsApiOptions = {
|
||||
storageApi: StorageApi;
|
||||
randomUUID?: Window['crypto']['randomUUID'];
|
||||
limit?: number;
|
||||
identityApi: IdentityApi;
|
||||
};
|
||||
@@ -185,8 +184,6 @@ export class LocalStorageVisitsApi extends VisitsApiFactory {
|
||||
|
||||
// @public (undocumented)
|
||||
export type LocalStorageVisitsApiOptions = {
|
||||
localStorage?: Window['localStorage'];
|
||||
randomUUID?: Window['crypto']['randomUUID'];
|
||||
limit?: number;
|
||||
identityApi: IdentityApi;
|
||||
};
|
||||
@@ -269,7 +266,6 @@ export interface VisitsApi {
|
||||
// @public
|
||||
export class VisitsApiFactory implements VisitsApi {
|
||||
protected constructor({
|
||||
randomUUID,
|
||||
limit,
|
||||
retrieveAll,
|
||||
persistAll,
|
||||
@@ -281,7 +277,7 @@ export class VisitsApiFactory implements VisitsApi {
|
||||
// (undocumented)
|
||||
protected persistAll: (visits: Array<Visit>) => Promise<void>;
|
||||
// (undocumented)
|
||||
protected readonly randomUUID: Window['crypto']['randomUUID'];
|
||||
protected readonly randomUUID: () => `${string}-${string}-${string}-${string}-${string}`;
|
||||
// (undocumented)
|
||||
protected retrieveAll: () => Promise<Array<Visit>>;
|
||||
// (undocumented)
|
||||
@@ -290,7 +286,6 @@ export class VisitsApiFactory implements VisitsApi {
|
||||
|
||||
// @public (undocumented)
|
||||
export type VisitsApiFactoryOptions = {
|
||||
randomUUID: Window['crypto']['randomUUID'];
|
||||
limit: number;
|
||||
retrieveAll?: () => Promise<Array<Visit>>;
|
||||
persistAll?: (visits: Array<Visit>) => Promise<void>;
|
||||
|
||||
@@ -20,7 +20,6 @@ import { VisitsApiFactory } from './VisitsApiFactory';
|
||||
/** @public */
|
||||
export type CoreStorageVisitsApiOptions = {
|
||||
storageApi: StorageApi;
|
||||
randomUUID?: Window['crypto']['randomUUID'];
|
||||
limit?: number;
|
||||
identityApi: IdentityApi;
|
||||
};
|
||||
@@ -41,10 +40,9 @@ export class CoreStorageVisitsApi extends VisitsApiFactory {
|
||||
private constructor({
|
||||
storageApi,
|
||||
identityApi,
|
||||
randomUUID = window?.crypto?.randomUUID,
|
||||
limit = 100,
|
||||
}: CoreStorageVisitsApiOptions) {
|
||||
super({ randomUUID, limit });
|
||||
super({ limit });
|
||||
this.storageApi = storageApi;
|
||||
this.identityApi = identityApi;
|
||||
this.retrieveAll = async (): Promise<Array<Visit>> => {
|
||||
|
||||
@@ -19,8 +19,6 @@ import { VisitsApiFactory } from './VisitsApiFactory';
|
||||
|
||||
/** @public */
|
||||
export type LocalStorageVisitsApiOptions = {
|
||||
localStorage?: Window['localStorage'];
|
||||
randomUUID?: Window['crypto']['randomUUID'];
|
||||
limit?: number;
|
||||
identityApi: IdentityApi;
|
||||
};
|
||||
@@ -30,7 +28,7 @@ export type LocalStorageVisitsApiOptions = {
|
||||
* This is a reference implementation of VisitsApi using window.localStorage.
|
||||
*/
|
||||
export class LocalStorageVisitsApi extends VisitsApiFactory {
|
||||
private readonly localStorage: Window['localStorage'];
|
||||
private readonly localStorage = window.localStorage;
|
||||
private readonly storageKeyPrefix = '@backstage/plugin-home:visits';
|
||||
private readonly identityApi: IdentityApi;
|
||||
|
||||
@@ -39,13 +37,10 @@ export class LocalStorageVisitsApi extends VisitsApiFactory {
|
||||
}
|
||||
|
||||
private constructor({
|
||||
localStorage = window?.localStorage,
|
||||
randomUUID = window?.crypto?.randomUUID,
|
||||
limit = 100,
|
||||
identityApi,
|
||||
}: LocalStorageVisitsApiOptions) {
|
||||
super({ randomUUID, limit });
|
||||
this.localStorage = localStorage;
|
||||
super({ limit });
|
||||
this.identityApi = identityApi;
|
||||
this.retrieveAll = async (): Promise<Array<Visit>> => {
|
||||
let visits: Array<Visit>;
|
||||
|
||||
@@ -21,13 +21,11 @@ class MemoryVisitsApi extends VisitsApiFactory {
|
||||
private visits: Array<Visit> = [];
|
||||
|
||||
constructor({
|
||||
randomUUID = window?.crypto?.randomUUID,
|
||||
limit = 100,
|
||||
}: {
|
||||
randomUUID?: Window['crypto']['randomUUID'];
|
||||
limit?: number;
|
||||
} = {}) {
|
||||
super({ randomUUID, limit });
|
||||
super({ limit });
|
||||
this.retrieveAll = async (): Promise<Array<Visit>> => {
|
||||
let visits: Array<Visit>;
|
||||
try {
|
||||
|
||||
@@ -24,7 +24,6 @@ type ArrayElement<A> = A extends readonly (infer T)[] ? T : never;
|
||||
|
||||
/** @public */
|
||||
export type VisitsApiFactoryOptions = {
|
||||
randomUUID: Window['crypto']['randomUUID'];
|
||||
limit: number;
|
||||
retrieveAll?: () => Promise<Array<Visit>>;
|
||||
persistAll?: (visits: Array<Visit>) => Promise<void>;
|
||||
@@ -38,18 +37,16 @@ export type VisitsApiFactoryOptions = {
|
||||
* See LocalStorageVisitsApi for an usage example.
|
||||
*/
|
||||
export class VisitsApiFactory implements VisitsApi {
|
||||
protected readonly randomUUID: Window['crypto']['randomUUID'];
|
||||
protected readonly randomUUID = window.crypto.randomUUID;
|
||||
protected readonly limit: number;
|
||||
protected retrieveAll: () => Promise<Array<Visit>>;
|
||||
protected persistAll: (visits: Array<Visit>) => Promise<void>;
|
||||
|
||||
protected constructor({
|
||||
randomUUID = window?.crypto?.randomUUID,
|
||||
limit = 100,
|
||||
retrieveAll,
|
||||
persistAll,
|
||||
}: VisitsApiFactoryOptions) {
|
||||
this.randomUUID = randomUUID;
|
||||
this.limit = Math.abs(limit);
|
||||
this.retrieveAll = retrieveAll ?? (async () => []);
|
||||
this.persistAll = persistAll ?? (async () => {});
|
||||
@@ -90,7 +87,7 @@ export class VisitsApiFactory implements VisitsApi {
|
||||
|
||||
const visit: Visit = {
|
||||
...saveParams.visit,
|
||||
id: this.randomUUID(),
|
||||
id: window.crypto.randomUUID(),
|
||||
hits: 1,
|
||||
timestamp: Date.now(),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user