tetrons 2.3.35 → 2.3.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -5,6 +5,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __esm = (fn, res) => function __init() {
9
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
+ };
8
11
  var __export = (target, all) => {
9
12
  for (var name in all)
10
13
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -27,6 +30,38 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
30
  ));
28
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
32
 
33
+ // src/server/usage.ts
34
+ var usage_exports = {};
35
+ __export(usage_exports, {
36
+ getOrCreateInstallDate: () => getOrCreateInstallDate,
37
+ getRemainingDays: () => getRemainingDays
38
+ });
39
+ function getOrCreateInstallDate() {
40
+ if (import_fs.default.existsSync(USAGE_FILE_PATH)) {
41
+ const data = JSON.parse(import_fs.default.readFileSync(USAGE_FILE_PATH, "utf-8"));
42
+ return new Date(data.installedAt);
43
+ }
44
+ const now = (/* @__PURE__ */ new Date()).toISOString();
45
+ import_fs.default.writeFileSync(USAGE_FILE_PATH, JSON.stringify({ installedAt: now }));
46
+ return new Date(now);
47
+ }
48
+ function getRemainingDays(installedAt, validityDays) {
49
+ const now = /* @__PURE__ */ new Date();
50
+ const diff = Math.floor(
51
+ (now.getTime() - installedAt.getTime()) / (1e3 * 60 * 60 * 24)
52
+ );
53
+ return validityDays - diff;
54
+ }
55
+ var import_fs, import_path, USAGE_FILE_PATH;
56
+ var init_usage = __esm({
57
+ "src/server/usage.ts"() {
58
+ "use strict";
59
+ import_fs = __toESM(require("fs"));
60
+ import_path = __toESM(require("path"));
61
+ USAGE_FILE_PATH = import_path.default.join(process.cwd(), ".tetrons-usage.json");
62
+ }
63
+ });
64
+
30
65
  // src/index.ts
31
66
  var index_exports = {};
32
67
  __export(index_exports, {
@@ -16979,27 +17014,8 @@ function EditorContent({ apiKey }) {
16979
17014
  }
16980
17015
 
16981
17016
  // src/index.ts
16982
- var import_fs = __toESM(require("fs"));
16983
- var import_path = __toESM(require("path"));
16984
17017
  var API_VALID = false;
16985
17018
  var API_VERSION = "";
16986
- var USAGE_FILE_PATH = import_path.default.join(process.cwd(), ".tetrons-usage.json");
16987
- function getOrCreateInstallDate() {
16988
- if (import_fs.default.existsSync(USAGE_FILE_PATH)) {
16989
- const data = JSON.parse(import_fs.default.readFileSync(USAGE_FILE_PATH, "utf-8"));
16990
- return new Date(data.installedAt);
16991
- }
16992
- const now = (/* @__PURE__ */ new Date()).toISOString();
16993
- import_fs.default.writeFileSync(USAGE_FILE_PATH, JSON.stringify({ installedAt: now }));
16994
- return new Date(now);
16995
- }
16996
- function getRemainingDays(installedAt, validityDays) {
16997
- const now = /* @__PURE__ */ new Date();
16998
- const diff = Math.floor(
16999
- (now.getTime() - installedAt.getTime()) / (1e3 * 60 * 60 * 24)
17000
- );
17001
- return validityDays - diff;
17002
- }
17003
17019
  async function initializeTetrons(apiKey) {
17004
17020
  const res = await fetch("https://staging.tetrons.com/api/validate", {
17005
17021
  method: "POST",
@@ -17018,9 +17034,13 @@ async function initializeTetrons(apiKey) {
17018
17034
  if (!API_VALID) {
17019
17035
  throw new Error("API Key is not valid.");
17020
17036
  }
17037
+ if (typeof window !== "undefined") {
17038
+ throw new Error("initializeTetrons() must be called server-side.");
17039
+ }
17040
+ const { getOrCreateInstallDate: getOrCreateInstallDate2, getRemainingDays: getRemainingDays2 } = await Promise.resolve().then(() => (init_usage(), usage_exports));
17021
17041
  const validityDays = API_VERSION === "free" ? 14 : 30;
17022
- const installedAt = getOrCreateInstallDate();
17023
- const remainingDays = getRemainingDays(installedAt, validityDays);
17042
+ const installedAt = getOrCreateInstallDate2();
17043
+ const remainingDays = getRemainingDays2(installedAt, validityDays);
17024
17044
  if (remainingDays <= 0) {
17025
17045
  throw new Error(`Your ${API_VERSION} license has expired.`);
17026
17046
  }
@@ -17034,11 +17054,13 @@ function getTetronsVersion() {
17034
17054
  function isApiKeyValid() {
17035
17055
  return API_VALID;
17036
17056
  }
17037
- function getTetronsRemainingDays() {
17057
+ async function getTetronsRemainingDays() {
17038
17058
  if (!API_VALID || !API_VERSION) return null;
17059
+ if (typeof window !== "undefined") return null;
17060
+ const { getOrCreateInstallDate: getOrCreateInstallDate2, getRemainingDays: getRemainingDays2 } = await Promise.resolve().then(() => (init_usage(), usage_exports));
17039
17061
  const validityDays = API_VERSION === "free" ? 14 : 30;
17040
- const installedAt = getOrCreateInstallDate();
17041
- return getRemainingDays(installedAt, validityDays);
17062
+ const installedAt = getOrCreateInstallDate2();
17063
+ return getRemainingDays2(installedAt, validityDays);
17042
17064
  }
17043
17065
  var index_default = EditorContent;
17044
17066
  // Annotate the CommonJS export names for ESM import in node:
package/dist/index.d.mts CHANGED
@@ -8,6 +8,6 @@ declare function EditorContent({ apiKey }: EditorContentProps): React.JSX.Elemen
8
8
  declare function initializeTetrons(apiKey: string): Promise<void>;
9
9
  declare function getTetronsVersion(): "" | "free" | "pro" | "premium" | "platinum";
10
10
  declare function isApiKeyValid(): boolean;
11
- declare function getTetronsRemainingDays(): number | null;
11
+ declare function getTetronsRemainingDays(): Promise<number | null>;
12
12
 
13
13
  export { EditorContent, EditorContent as default, getTetronsRemainingDays, getTetronsVersion, initializeTetrons, isApiKeyValid };
package/dist/index.d.ts CHANGED
@@ -8,6 +8,6 @@ declare function EditorContent({ apiKey }: EditorContentProps): React.JSX.Elemen
8
8
  declare function initializeTetrons(apiKey: string): Promise<void>;
9
9
  declare function getTetronsVersion(): "" | "free" | "pro" | "premium" | "platinum";
10
10
  declare function isApiKeyValid(): boolean;
11
- declare function getTetronsRemainingDays(): number | null;
11
+ declare function getTetronsRemainingDays(): Promise<number | null>;
12
12
 
13
13
  export { EditorContent, EditorContent as default, getTetronsRemainingDays, getTetronsVersion, initializeTetrons, isApiKeyValid };
package/dist/index.mjs CHANGED
@@ -1,3 +1,45 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropNames = Object.getOwnPropertyNames;
3
+ var __esm = (fn, res) => function __init() {
4
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
5
+ };
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+
11
+ // src/server/usage.ts
12
+ var usage_exports = {};
13
+ __export(usage_exports, {
14
+ getOrCreateInstallDate: () => getOrCreateInstallDate,
15
+ getRemainingDays: () => getRemainingDays
16
+ });
17
+ import fs from "fs";
18
+ import path from "path";
19
+ function getOrCreateInstallDate() {
20
+ if (fs.existsSync(USAGE_FILE_PATH)) {
21
+ const data = JSON.parse(fs.readFileSync(USAGE_FILE_PATH, "utf-8"));
22
+ return new Date(data.installedAt);
23
+ }
24
+ const now = (/* @__PURE__ */ new Date()).toISOString();
25
+ fs.writeFileSync(USAGE_FILE_PATH, JSON.stringify({ installedAt: now }));
26
+ return new Date(now);
27
+ }
28
+ function getRemainingDays(installedAt, validityDays) {
29
+ const now = /* @__PURE__ */ new Date();
30
+ const diff = Math.floor(
31
+ (now.getTime() - installedAt.getTime()) / (1e3 * 60 * 60 * 24)
32
+ );
33
+ return validityDays - diff;
34
+ }
35
+ var USAGE_FILE_PATH;
36
+ var init_usage = __esm({
37
+ "src/server/usage.ts"() {
38
+ "use strict";
39
+ USAGE_FILE_PATH = path.join(process.cwd(), ".tetrons-usage.json");
40
+ }
41
+ });
42
+
1
43
  // src/components/tetrons/EditorContent.tsx
2
44
  import React14, { useEffect as useEffect8, useRef as useRef7, useState as useState9 } from "react";
3
45
  import {
@@ -16985,27 +17027,8 @@ function EditorContent({ apiKey }) {
16985
17027
  }
16986
17028
 
16987
17029
  // src/index.ts
16988
- import fs from "fs";
16989
- import path from "path";
16990
17030
  var API_VALID = false;
16991
17031
  var API_VERSION = "";
16992
- var USAGE_FILE_PATH = path.join(process.cwd(), ".tetrons-usage.json");
16993
- function getOrCreateInstallDate() {
16994
- if (fs.existsSync(USAGE_FILE_PATH)) {
16995
- const data = JSON.parse(fs.readFileSync(USAGE_FILE_PATH, "utf-8"));
16996
- return new Date(data.installedAt);
16997
- }
16998
- const now = (/* @__PURE__ */ new Date()).toISOString();
16999
- fs.writeFileSync(USAGE_FILE_PATH, JSON.stringify({ installedAt: now }));
17000
- return new Date(now);
17001
- }
17002
- function getRemainingDays(installedAt, validityDays) {
17003
- const now = /* @__PURE__ */ new Date();
17004
- const diff = Math.floor(
17005
- (now.getTime() - installedAt.getTime()) / (1e3 * 60 * 60 * 24)
17006
- );
17007
- return validityDays - diff;
17008
- }
17009
17032
  async function initializeTetrons(apiKey) {
17010
17033
  const res = await fetch("https://staging.tetrons.com/api/validate", {
17011
17034
  method: "POST",
@@ -17024,9 +17047,13 @@ async function initializeTetrons(apiKey) {
17024
17047
  if (!API_VALID) {
17025
17048
  throw new Error("API Key is not valid.");
17026
17049
  }
17050
+ if (typeof window !== "undefined") {
17051
+ throw new Error("initializeTetrons() must be called server-side.");
17052
+ }
17053
+ const { getOrCreateInstallDate: getOrCreateInstallDate2, getRemainingDays: getRemainingDays2 } = await Promise.resolve().then(() => (init_usage(), usage_exports));
17027
17054
  const validityDays = API_VERSION === "free" ? 14 : 30;
17028
- const installedAt = getOrCreateInstallDate();
17029
- const remainingDays = getRemainingDays(installedAt, validityDays);
17055
+ const installedAt = getOrCreateInstallDate2();
17056
+ const remainingDays = getRemainingDays2(installedAt, validityDays);
17030
17057
  if (remainingDays <= 0) {
17031
17058
  throw new Error(`Your ${API_VERSION} license has expired.`);
17032
17059
  }
@@ -17040,11 +17067,13 @@ function getTetronsVersion() {
17040
17067
  function isApiKeyValid() {
17041
17068
  return API_VALID;
17042
17069
  }
17043
- function getTetronsRemainingDays() {
17070
+ async function getTetronsRemainingDays() {
17044
17071
  if (!API_VALID || !API_VERSION) return null;
17072
+ if (typeof window !== "undefined") return null;
17073
+ const { getOrCreateInstallDate: getOrCreateInstallDate2, getRemainingDays: getRemainingDays2 } = await Promise.resolve().then(() => (init_usage(), usage_exports));
17045
17074
  const validityDays = API_VERSION === "free" ? 14 : 30;
17046
- const installedAt = getOrCreateInstallDate();
17047
- return getRemainingDays(installedAt, validityDays);
17075
+ const installedAt = getOrCreateInstallDate2();
17076
+ return getRemainingDays2(installedAt, validityDays);
17048
17077
  }
17049
17078
  var index_default = EditorContent;
17050
17079
  export {
@@ -2,6 +2,6 @@ import EditorContent from "./components/tetrons/EditorContent";
2
2
  export declare function initializeTetrons(apiKey: string): Promise<void>;
3
3
  export declare function getTetronsVersion(): "" | "free" | "pro" | "premium" | "platinum";
4
4
  export declare function isApiKeyValid(): boolean;
5
- export declare function getTetronsRemainingDays(): number | null;
5
+ export declare function getTetronsRemainingDays(): Promise<number | null>;
6
6
  export { EditorContent };
7
7
  export default EditorContent;
package/dist/src/index.js CHANGED
@@ -1,23 +1,6 @@
1
1
  import EditorContent from "./components/tetrons/EditorContent";
2
- import fs from "fs";
3
- import path from "path";
4
2
  let API_VALID = false;
5
3
  let API_VERSION = "";
6
- const USAGE_FILE_PATH = path.join(process.cwd(), ".tetrons-usage.json");
7
- function getOrCreateInstallDate() {
8
- if (fs.existsSync(USAGE_FILE_PATH)) {
9
- const data = JSON.parse(fs.readFileSync(USAGE_FILE_PATH, "utf-8"));
10
- return new Date(data.installedAt);
11
- }
12
- const now = new Date().toISOString();
13
- fs.writeFileSync(USAGE_FILE_PATH, JSON.stringify({ installedAt: now }));
14
- return new Date(now);
15
- }
16
- function getRemainingDays(installedAt, validityDays) {
17
- const now = new Date();
18
- const diff = Math.floor((now.getTime() - installedAt.getTime()) / (1000 * 60 * 60 * 24));
19
- return validityDays - diff;
20
- }
21
4
  export async function initializeTetrons(apiKey) {
22
5
  const res = await fetch("https://staging.tetrons.com/api/validate", {
23
6
  method: "POST",
@@ -36,6 +19,10 @@ export async function initializeTetrons(apiKey) {
36
19
  if (!API_VALID) {
37
20
  throw new Error("API Key is not valid.");
38
21
  }
22
+ if (typeof window !== "undefined") {
23
+ throw new Error("initializeTetrons() must be called server-side.");
24
+ }
25
+ const { getOrCreateInstallDate, getRemainingDays } = await import("./server/usage.js");
39
26
  const validityDays = API_VERSION === "free" ? 14 : 30;
40
27
  const installedAt = getOrCreateInstallDate();
41
28
  const remainingDays = getRemainingDays(installedAt, validityDays);
@@ -50,9 +37,12 @@ export function getTetronsVersion() {
50
37
  export function isApiKeyValid() {
51
38
  return API_VALID;
52
39
  }
53
- export function getTetronsRemainingDays() {
40
+ export async function getTetronsRemainingDays() {
54
41
  if (!API_VALID || !API_VERSION)
55
42
  return null;
43
+ if (typeof window !== "undefined")
44
+ return null;
45
+ const { getOrCreateInstallDate, getRemainingDays } = await import("./server/usage.js");
56
46
  const validityDays = API_VERSION === "free" ? 14 : 30;
57
47
  const installedAt = getOrCreateInstallDate();
58
48
  return getRemainingDays(installedAt, validityDays);
@@ -0,0 +1,2 @@
1
+ export declare function getOrCreateInstallDate(): Date;
2
+ export declare function getRemainingDays(installedAt: Date, validityDays: number): number;
@@ -0,0 +1,17 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ const USAGE_FILE_PATH = path.join(process.cwd(), ".tetrons-usage.json");
4
+ export function getOrCreateInstallDate() {
5
+ if (fs.existsSync(USAGE_FILE_PATH)) {
6
+ const data = JSON.parse(fs.readFileSync(USAGE_FILE_PATH, "utf-8"));
7
+ return new Date(data.installedAt);
8
+ }
9
+ const now = new Date().toISOString();
10
+ fs.writeFileSync(USAGE_FILE_PATH, JSON.stringify({ installedAt: now }));
11
+ return new Date(now);
12
+ }
13
+ export function getRemainingDays(installedAt, validityDays) {
14
+ const now = new Date();
15
+ const diff = Math.floor((now.getTime() - installedAt.getTime()) / (1000 * 60 * 60 * 24));
16
+ return validityDays - diff;
17
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tetrons",
3
- "version": "2.3.35",
3
+ "version": "2.3.36",
4
4
  "description": "A Next.js project written in TypeScript",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",