@forge/cli

13.4.0-next.3-experimental-f258a6d13.4.0-next.5-experimental-016ed9d
out/command-line/view/site-view.js
+out/command-line/view/site-view.jsNew file
+57
Index: package/out/command-line/view/site-view.js
===================================================================
--- package/out/command-line/view/site-view.js
+++ package/out/command-line/view/site-view.js
@@ -0,0 +1,57 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.SiteView = void 0;
+const cli_shared_1 = require("@forge/cli-shared");
+class SiteView {
+    ui;
+    constructor(ui) {
+        this.ui = ui;
+    }
+    checkForExistingSite(work) {
+        return this.ui.displayTemporaryMessage(work, cli_shared_1.Text.site.provision.checkingExisting);
+    }
+    requestSite(work) {
+        return this.ui.displayTemporaryMessage(work, cli_shared_1.Text.site.provision.requesting);
+    }
+    watchProvisioning(poll) {
+        return this.ui.displayProgress(() => {
+            this.ui.info(cli_shared_1.Text.site.provision.detach);
+            return poll();
+        }, cli_shared_1.Text.site.provision.poll.start, (result) => result.kind === 'timeout' ? cli_shared_1.Text.site.provision.poll.timeoutSpinner : cli_shared_1.Text.site.provision.poll.completed);
+    }
+    reportStatus(status) {
+        this.ui.info(cli_shared_1.Text.site.provision.poll.status(status));
+    }
+    alreadyExists() {
+        this.ui.info(cli_shared_1.Text.site.provision.alreadyExists);
+    }
+    backgroundTimeout() {
+        this.ui.emptyLine();
+        this.ui.warn(cli_shared_1.Text.site.provision.backgroundTimeout);
+    }
+    completedWithErrors() {
+        this.ui.warn(cli_shared_1.Text.site.provision.completedWithErrors);
+    }
+    renderSite(site) {
+        if (!site) {
+            this.ui.info(cli_shared_1.Text.site.provision.noResult);
+            return;
+        }
+        this.ui.emptyLine();
+        this.ui.table([
+            ['name', cli_shared_1.Text.site.provision.table.name],
+            ['siteUrl', cli_shared_1.Text.site.provision.table.siteUrl],
+            ['status', cli_shared_1.Text.site.provision.table.status],
+            ['expires', cli_shared_1.Text.site.provision.table.expires]
+        ], [
+            {
+                name: site.cloudName,
+                siteUrl: site.siteUrl ?? null,
+                status: site.status ?? null,
+                expires: site.expiresAt ?? null
+            }
+        ]);
+    }
+}
+exports.SiteView = SiteView;
+//# sourceMappingURL=site-view.js.map
\ No newline at end of file