tetrons 2.3.34 → 2.3.35
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 +45 -6
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +44 -6
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.js +61 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -32,6 +32,7 @@ var index_exports = {};
|
|
|
32
32
|
__export(index_exports, {
|
|
33
33
|
EditorContent: () => EditorContent,
|
|
34
34
|
default: () => index_default,
|
|
35
|
+
getTetronsRemainingDays: () => getTetronsRemainingDays,
|
|
35
36
|
getTetronsVersion: () => getTetronsVersion,
|
|
36
37
|
initializeTetrons: () => initializeTetrons,
|
|
37
38
|
isApiKeyValid: () => isApiKeyValid
|
|
@@ -988,11 +989,11 @@ var ResolvedPos = class _ResolvedPos {
|
|
|
988
989
|
/**
|
|
989
990
|
@internal
|
|
990
991
|
*/
|
|
991
|
-
constructor(pos,
|
|
992
|
+
constructor(pos, path2, parentOffset) {
|
|
992
993
|
this.pos = pos;
|
|
993
|
-
this.path =
|
|
994
|
+
this.path = path2;
|
|
994
995
|
this.parentOffset = parentOffset;
|
|
995
|
-
this.depth =
|
|
996
|
+
this.depth = path2.length / 3 - 1;
|
|
996
997
|
}
|
|
997
998
|
/**
|
|
998
999
|
@internal
|
|
@@ -1223,12 +1224,12 @@ var ResolvedPos = class _ResolvedPos {
|
|
|
1223
1224
|
static resolve(doc3, pos) {
|
|
1224
1225
|
if (!(pos >= 0 && pos <= doc3.content.size))
|
|
1225
1226
|
throw new RangeError("Position " + pos + " out of range");
|
|
1226
|
-
let
|
|
1227
|
+
let path2 = [];
|
|
1227
1228
|
let start = 0, parentOffset = pos;
|
|
1228
1229
|
for (let node = doc3; ; ) {
|
|
1229
1230
|
let { index, offset } = node.content.findIndex(parentOffset);
|
|
1230
1231
|
let rem = parentOffset - offset;
|
|
1231
|
-
|
|
1232
|
+
path2.push(node, index, start + offset);
|
|
1232
1233
|
if (!rem)
|
|
1233
1234
|
break;
|
|
1234
1235
|
node = node.child(index);
|
|
@@ -1237,7 +1238,7 @@ var ResolvedPos = class _ResolvedPos {
|
|
|
1237
1238
|
parentOffset = rem - 1;
|
|
1238
1239
|
start += offset + 1;
|
|
1239
1240
|
}
|
|
1240
|
-
return new _ResolvedPos(pos,
|
|
1241
|
+
return new _ResolvedPos(pos, path2, parentOffset);
|
|
1241
1242
|
}
|
|
1242
1243
|
/**
|
|
1243
1244
|
@internal
|
|
@@ -16978,8 +16979,27 @@ function EditorContent({ apiKey }) {
|
|
|
16978
16979
|
}
|
|
16979
16980
|
|
|
16980
16981
|
// src/index.ts
|
|
16982
|
+
var import_fs = __toESM(require("fs"));
|
|
16983
|
+
var import_path = __toESM(require("path"));
|
|
16981
16984
|
var API_VALID = false;
|
|
16982
16985
|
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
|
+
}
|
|
16983
17003
|
async function initializeTetrons(apiKey) {
|
|
16984
17004
|
const res = await fetch("https://staging.tetrons.com/api/validate", {
|
|
16985
17005
|
method: "POST",
|
|
@@ -16995,6 +17015,18 @@ async function initializeTetrons(apiKey) {
|
|
|
16995
17015
|
const data = await res.json();
|
|
16996
17016
|
API_VALID = data.valid;
|
|
16997
17017
|
API_VERSION = data.version;
|
|
17018
|
+
if (!API_VALID) {
|
|
17019
|
+
throw new Error("API Key is not valid.");
|
|
17020
|
+
}
|
|
17021
|
+
const validityDays = API_VERSION === "free" ? 14 : 30;
|
|
17022
|
+
const installedAt = getOrCreateInstallDate();
|
|
17023
|
+
const remainingDays = getRemainingDays(installedAt, validityDays);
|
|
17024
|
+
if (remainingDays <= 0) {
|
|
17025
|
+
throw new Error(`Your ${API_VERSION} license has expired.`);
|
|
17026
|
+
}
|
|
17027
|
+
console.log(
|
|
17028
|
+
`[TETRONS] Initialized: ${API_VERSION} | Remaining days: ${remainingDays}`
|
|
17029
|
+
);
|
|
16998
17030
|
}
|
|
16999
17031
|
function getTetronsVersion() {
|
|
17000
17032
|
return API_VERSION;
|
|
@@ -17002,10 +17034,17 @@ function getTetronsVersion() {
|
|
|
17002
17034
|
function isApiKeyValid() {
|
|
17003
17035
|
return API_VALID;
|
|
17004
17036
|
}
|
|
17037
|
+
function getTetronsRemainingDays() {
|
|
17038
|
+
if (!API_VALID || !API_VERSION) return null;
|
|
17039
|
+
const validityDays = API_VERSION === "free" ? 14 : 30;
|
|
17040
|
+
const installedAt = getOrCreateInstallDate();
|
|
17041
|
+
return getRemainingDays(installedAt, validityDays);
|
|
17042
|
+
}
|
|
17005
17043
|
var index_default = EditorContent;
|
|
17006
17044
|
// Annotate the CommonJS export names for ESM import in node:
|
|
17007
17045
|
0 && (module.exports = {
|
|
17008
17046
|
EditorContent,
|
|
17047
|
+
getTetronsRemainingDays,
|
|
17009
17048
|
getTetronsVersion,
|
|
17010
17049
|
initializeTetrons,
|
|
17011
17050
|
isApiKeyValid
|
package/dist/index.d.mts
CHANGED
|
@@ -8,5 +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
12
|
|
|
12
|
-
export { EditorContent, EditorContent as default, getTetronsVersion, initializeTetrons, isApiKeyValid };
|
|
13
|
+
export { EditorContent, EditorContent as default, getTetronsRemainingDays, getTetronsVersion, initializeTetrons, isApiKeyValid };
|
package/dist/index.d.ts
CHANGED
|
@@ -8,5 +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
12
|
|
|
12
|
-
export { EditorContent, EditorContent as default, getTetronsVersion, initializeTetrons, isApiKeyValid };
|
|
13
|
+
export { EditorContent, EditorContent as default, getTetronsRemainingDays, getTetronsVersion, initializeTetrons, isApiKeyValid };
|
package/dist/index.mjs
CHANGED
|
@@ -951,11 +951,11 @@ var ResolvedPos = class _ResolvedPos {
|
|
|
951
951
|
/**
|
|
952
952
|
@internal
|
|
953
953
|
*/
|
|
954
|
-
constructor(pos,
|
|
954
|
+
constructor(pos, path2, parentOffset) {
|
|
955
955
|
this.pos = pos;
|
|
956
|
-
this.path =
|
|
956
|
+
this.path = path2;
|
|
957
957
|
this.parentOffset = parentOffset;
|
|
958
|
-
this.depth =
|
|
958
|
+
this.depth = path2.length / 3 - 1;
|
|
959
959
|
}
|
|
960
960
|
/**
|
|
961
961
|
@internal
|
|
@@ -1186,12 +1186,12 @@ var ResolvedPos = class _ResolvedPos {
|
|
|
1186
1186
|
static resolve(doc3, pos) {
|
|
1187
1187
|
if (!(pos >= 0 && pos <= doc3.content.size))
|
|
1188
1188
|
throw new RangeError("Position " + pos + " out of range");
|
|
1189
|
-
let
|
|
1189
|
+
let path2 = [];
|
|
1190
1190
|
let start = 0, parentOffset = pos;
|
|
1191
1191
|
for (let node = doc3; ; ) {
|
|
1192
1192
|
let { index, offset } = node.content.findIndex(parentOffset);
|
|
1193
1193
|
let rem = parentOffset - offset;
|
|
1194
|
-
|
|
1194
|
+
path2.push(node, index, start + offset);
|
|
1195
1195
|
if (!rem)
|
|
1196
1196
|
break;
|
|
1197
1197
|
node = node.child(index);
|
|
@@ -1200,7 +1200,7 @@ var ResolvedPos = class _ResolvedPos {
|
|
|
1200
1200
|
parentOffset = rem - 1;
|
|
1201
1201
|
start += offset + 1;
|
|
1202
1202
|
}
|
|
1203
|
-
return new _ResolvedPos(pos,
|
|
1203
|
+
return new _ResolvedPos(pos, path2, parentOffset);
|
|
1204
1204
|
}
|
|
1205
1205
|
/**
|
|
1206
1206
|
@internal
|
|
@@ -16985,8 +16985,27 @@ function EditorContent({ apiKey }) {
|
|
|
16985
16985
|
}
|
|
16986
16986
|
|
|
16987
16987
|
// src/index.ts
|
|
16988
|
+
import fs from "fs";
|
|
16989
|
+
import path from "path";
|
|
16988
16990
|
var API_VALID = false;
|
|
16989
16991
|
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
|
+
}
|
|
16990
17009
|
async function initializeTetrons(apiKey) {
|
|
16991
17010
|
const res = await fetch("https://staging.tetrons.com/api/validate", {
|
|
16992
17011
|
method: "POST",
|
|
@@ -17002,6 +17021,18 @@ async function initializeTetrons(apiKey) {
|
|
|
17002
17021
|
const data = await res.json();
|
|
17003
17022
|
API_VALID = data.valid;
|
|
17004
17023
|
API_VERSION = data.version;
|
|
17024
|
+
if (!API_VALID) {
|
|
17025
|
+
throw new Error("API Key is not valid.");
|
|
17026
|
+
}
|
|
17027
|
+
const validityDays = API_VERSION === "free" ? 14 : 30;
|
|
17028
|
+
const installedAt = getOrCreateInstallDate();
|
|
17029
|
+
const remainingDays = getRemainingDays(installedAt, validityDays);
|
|
17030
|
+
if (remainingDays <= 0) {
|
|
17031
|
+
throw new Error(`Your ${API_VERSION} license has expired.`);
|
|
17032
|
+
}
|
|
17033
|
+
console.log(
|
|
17034
|
+
`[TETRONS] Initialized: ${API_VERSION} | Remaining days: ${remainingDays}`
|
|
17035
|
+
);
|
|
17005
17036
|
}
|
|
17006
17037
|
function getTetronsVersion() {
|
|
17007
17038
|
return API_VERSION;
|
|
@@ -17009,10 +17040,17 @@ function getTetronsVersion() {
|
|
|
17009
17040
|
function isApiKeyValid() {
|
|
17010
17041
|
return API_VALID;
|
|
17011
17042
|
}
|
|
17043
|
+
function getTetronsRemainingDays() {
|
|
17044
|
+
if (!API_VALID || !API_VERSION) return null;
|
|
17045
|
+
const validityDays = API_VERSION === "free" ? 14 : 30;
|
|
17046
|
+
const installedAt = getOrCreateInstallDate();
|
|
17047
|
+
return getRemainingDays(installedAt, validityDays);
|
|
17048
|
+
}
|
|
17012
17049
|
var index_default = EditorContent;
|
|
17013
17050
|
export {
|
|
17014
17051
|
EditorContent,
|
|
17015
17052
|
index_default as default,
|
|
17053
|
+
getTetronsRemainingDays,
|
|
17016
17054
|
getTetronsVersion,
|
|
17017
17055
|
initializeTetrons,
|
|
17018
17056
|
isApiKeyValid
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import EditorContent from "./components/tetrons/EditorContent";
|
|
2
|
+
export declare function initializeTetrons(apiKey: string): Promise<void>;
|
|
3
|
+
export declare function getTetronsVersion(): "" | "free" | "pro" | "premium" | "platinum";
|
|
4
|
+
export declare function isApiKeyValid(): boolean;
|
|
5
|
+
export declare function getTetronsRemainingDays(): number | null;
|
|
6
|
+
export { EditorContent };
|
|
7
|
+
export default EditorContent;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import EditorContent from "./components/tetrons/EditorContent";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
let API_VALID = false;
|
|
5
|
+
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
|
+
export async function initializeTetrons(apiKey) {
|
|
22
|
+
const res = await fetch("https://staging.tetrons.com/api/validate", {
|
|
23
|
+
method: "POST",
|
|
24
|
+
headers: {
|
|
25
|
+
"Content-Type": "application/json",
|
|
26
|
+
},
|
|
27
|
+
body: JSON.stringify({ apiKey }),
|
|
28
|
+
});
|
|
29
|
+
if (!res.ok) {
|
|
30
|
+
const error = await res.json();
|
|
31
|
+
throw new Error(`API Key validation failed: ${error.error}`);
|
|
32
|
+
}
|
|
33
|
+
const data = await res.json();
|
|
34
|
+
API_VALID = data.valid;
|
|
35
|
+
API_VERSION = data.version;
|
|
36
|
+
if (!API_VALID) {
|
|
37
|
+
throw new Error("API Key is not valid.");
|
|
38
|
+
}
|
|
39
|
+
const validityDays = API_VERSION === "free" ? 14 : 30;
|
|
40
|
+
const installedAt = getOrCreateInstallDate();
|
|
41
|
+
const remainingDays = getRemainingDays(installedAt, validityDays);
|
|
42
|
+
if (remainingDays <= 0) {
|
|
43
|
+
throw new Error(`Your ${API_VERSION} license has expired.`);
|
|
44
|
+
}
|
|
45
|
+
console.log(`[TETRONS] Initialized: ${API_VERSION} | Remaining days: ${remainingDays}`);
|
|
46
|
+
}
|
|
47
|
+
export function getTetronsVersion() {
|
|
48
|
+
return API_VERSION;
|
|
49
|
+
}
|
|
50
|
+
export function isApiKeyValid() {
|
|
51
|
+
return API_VALID;
|
|
52
|
+
}
|
|
53
|
+
export function getTetronsRemainingDays() {
|
|
54
|
+
if (!API_VALID || !API_VERSION)
|
|
55
|
+
return null;
|
|
56
|
+
const validityDays = API_VERSION === "free" ? 14 : 30;
|
|
57
|
+
const installedAt = getOrCreateInstallDate();
|
|
58
|
+
return getRemainingDays(installedAt, validityDays);
|
|
59
|
+
}
|
|
60
|
+
export { EditorContent };
|
|
61
|
+
export default EditorContent;
|