@fctc/interface-logic 4.2.7 → 4.2.9
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/environment.d.mts +1 -0
- package/dist/environment.d.ts +1 -0
- package/dist/hooks.d.mts +4 -1
- package/dist/hooks.d.ts +4 -1
- package/dist/hooks.js +385 -5
- package/dist/hooks.mjs +383 -5
- package/dist/import-snapshot-Ds0gqFFm.d.mts +3 -0
- package/dist/import-snapshot-Ds0gqFFm.d.ts +3 -0
- package/dist/provider.d.mts +4 -1
- package/dist/provider.d.ts +4 -1
- package/dist/provider.js +387 -7
- package/dist/provider.mjs +386 -7
- package/dist/services.d.mts +8 -1
- package/dist/services.d.ts +8 -1
- package/dist/services.js +378 -5
- package/dist/services.mjs +376 -5
- package/dist/store.js +2 -1
- package/dist/store.mjs +2 -1
- package/package.json +91 -90
package/dist/services.mjs
CHANGED
|
@@ -1606,9 +1606,9 @@ function applyBinaryOp(ast, context) {
|
|
|
1606
1606
|
var DICT = {
|
|
1607
1607
|
get(...args) {
|
|
1608
1608
|
const { key, defValue } = parseArgs(args, ["key", "defValue"]);
|
|
1609
|
-
const
|
|
1610
|
-
if (key in
|
|
1611
|
-
return
|
|
1609
|
+
const self2 = this;
|
|
1610
|
+
if (key in self2) {
|
|
1611
|
+
return self2[key];
|
|
1612
1612
|
} else if (defValue !== void 0) {
|
|
1613
1613
|
return defValue;
|
|
1614
1614
|
}
|
|
@@ -2229,7 +2229,8 @@ var initialState2 = {
|
|
|
2229
2229
|
allowed_company_ids: [],
|
|
2230
2230
|
lang: "vi_VN",
|
|
2231
2231
|
tz: "Asia/Saigon"
|
|
2232
|
-
}
|
|
2232
|
+
},
|
|
2233
|
+
isLocalMode: false
|
|
2233
2234
|
};
|
|
2234
2235
|
var envSlice = createSlice2({
|
|
2235
2236
|
name: "env",
|
|
@@ -3859,7 +3860,226 @@ var handleClosingSessionService = (env) => {
|
|
|
3859
3860
|
|
|
3860
3861
|
// src/services/pos-service/load-data-pos-session.ts
|
|
3861
3862
|
import { useCallback as useCallback23 } from "react";
|
|
3863
|
+
|
|
3864
|
+
// src/services/filesystem-service/file-service.ts
|
|
3865
|
+
import { Directory, Encoding, Filesystem } from "@capacitor/filesystem";
|
|
3866
|
+
var fileService = {
|
|
3867
|
+
async read(path) {
|
|
3868
|
+
try {
|
|
3869
|
+
const res = await Filesystem.readFile({
|
|
3870
|
+
path,
|
|
3871
|
+
directory: Directory.Data,
|
|
3872
|
+
encoding: Encoding.UTF8
|
|
3873
|
+
});
|
|
3874
|
+
if (typeof res.data === "string") return res.data;
|
|
3875
|
+
if (res.data instanceof Blob) return await res.data.text();
|
|
3876
|
+
return null;
|
|
3877
|
+
} catch {
|
|
3878
|
+
return null;
|
|
3879
|
+
}
|
|
3880
|
+
},
|
|
3881
|
+
async write(path, data) {
|
|
3882
|
+
await Filesystem.writeFile({
|
|
3883
|
+
path,
|
|
3884
|
+
data,
|
|
3885
|
+
directory: Directory.Data,
|
|
3886
|
+
encoding: Encoding.UTF8,
|
|
3887
|
+
recursive: true
|
|
3888
|
+
});
|
|
3889
|
+
},
|
|
3890
|
+
async writeAtomic(path, data) {
|
|
3891
|
+
const tempPath = path + ".tmp";
|
|
3892
|
+
await Filesystem.writeFile({
|
|
3893
|
+
path: tempPath,
|
|
3894
|
+
data,
|
|
3895
|
+
directory: Directory.Data,
|
|
3896
|
+
encoding: Encoding.UTF8,
|
|
3897
|
+
recursive: true
|
|
3898
|
+
});
|
|
3899
|
+
try {
|
|
3900
|
+
await Filesystem.deleteFile({
|
|
3901
|
+
path,
|
|
3902
|
+
directory: Directory.Data
|
|
3903
|
+
});
|
|
3904
|
+
} catch {
|
|
3905
|
+
}
|
|
3906
|
+
await Filesystem.rename({
|
|
3907
|
+
from: tempPath,
|
|
3908
|
+
to: path,
|
|
3909
|
+
directory: Directory.Data
|
|
3910
|
+
});
|
|
3911
|
+
},
|
|
3912
|
+
async delete(path) {
|
|
3913
|
+
try {
|
|
3914
|
+
await Filesystem.deleteFile({
|
|
3915
|
+
path,
|
|
3916
|
+
directory: Directory.Data
|
|
3917
|
+
});
|
|
3918
|
+
} catch {
|
|
3919
|
+
}
|
|
3920
|
+
},
|
|
3921
|
+
async exists(path) {
|
|
3922
|
+
try {
|
|
3923
|
+
await Filesystem.stat({
|
|
3924
|
+
path,
|
|
3925
|
+
directory: Directory.Data
|
|
3926
|
+
});
|
|
3927
|
+
return true;
|
|
3928
|
+
} catch {
|
|
3929
|
+
return false;
|
|
3930
|
+
}
|
|
3931
|
+
},
|
|
3932
|
+
async mkdir(path) {
|
|
3933
|
+
try {
|
|
3934
|
+
await Filesystem.mkdir({
|
|
3935
|
+
path,
|
|
3936
|
+
directory: Directory.Data,
|
|
3937
|
+
recursive: true
|
|
3938
|
+
});
|
|
3939
|
+
} catch (e) {
|
|
3940
|
+
if (!String(e?.message).includes("Exists")) {
|
|
3941
|
+
throw e;
|
|
3942
|
+
}
|
|
3943
|
+
}
|
|
3944
|
+
},
|
|
3945
|
+
async list(path) {
|
|
3946
|
+
return Filesystem.readdir({
|
|
3947
|
+
path,
|
|
3948
|
+
directory: Directory.Data
|
|
3949
|
+
});
|
|
3950
|
+
},
|
|
3951
|
+
async getUri(path) {
|
|
3952
|
+
return Filesystem.getUri({
|
|
3953
|
+
path,
|
|
3954
|
+
directory: Directory.Data
|
|
3955
|
+
});
|
|
3956
|
+
}
|
|
3957
|
+
};
|
|
3958
|
+
|
|
3959
|
+
// src/services/filesystem-service/json-worker.ts
|
|
3960
|
+
self.addEventListener("message", async (ev) => {
|
|
3961
|
+
const { id, cmd, payload } = ev.data;
|
|
3962
|
+
try {
|
|
3963
|
+
if (cmd === "parse") {
|
|
3964
|
+
const parsed = JSON.parse(payload);
|
|
3965
|
+
self.postMessage({ id, ok: true, result: parsed });
|
|
3966
|
+
} else if (cmd === "stringify") {
|
|
3967
|
+
const str = JSON.stringify(payload);
|
|
3968
|
+
self.postMessage({ id, ok: true, result: str });
|
|
3969
|
+
}
|
|
3970
|
+
} catch (err) {
|
|
3971
|
+
self.postMessage({ id, ok: false, error: err?.message || String(err) });
|
|
3972
|
+
}
|
|
3973
|
+
});
|
|
3974
|
+
function spawnParseWorker(raw) {
|
|
3975
|
+
return new Promise((resolve, reject) => {
|
|
3976
|
+
const worker = new Worker(new URL("./json-worker.ts", import.meta.url), {
|
|
3977
|
+
type: "module"
|
|
3978
|
+
});
|
|
3979
|
+
const id = Math.random().toString(36).slice(2);
|
|
3980
|
+
worker.onmessage = (ev) => {
|
|
3981
|
+
const { ok, result, error } = ev.data;
|
|
3982
|
+
if (ok) {
|
|
3983
|
+
resolve(result);
|
|
3984
|
+
} else {
|
|
3985
|
+
reject(new Error(error));
|
|
3986
|
+
}
|
|
3987
|
+
worker.terminate();
|
|
3988
|
+
};
|
|
3989
|
+
worker.postMessage({ id, cmd: "parse", payload: raw });
|
|
3990
|
+
});
|
|
3991
|
+
}
|
|
3992
|
+
function spawnStringifyWorker(obj) {
|
|
3993
|
+
return new Promise((resolve, reject) => {
|
|
3994
|
+
const worker = new Worker(new URL("./json-worker.ts", import.meta.url), {
|
|
3995
|
+
type: "module"
|
|
3996
|
+
});
|
|
3997
|
+
worker.onmessage = (ev) => {
|
|
3998
|
+
const { ok, result, error } = ev.data;
|
|
3999
|
+
if (ok) resolve(result);
|
|
4000
|
+
else reject(new Error(error));
|
|
4001
|
+
worker.terminate();
|
|
4002
|
+
};
|
|
4003
|
+
worker.postMessage({ cmd: "stringify", payload: obj });
|
|
4004
|
+
});
|
|
4005
|
+
}
|
|
4006
|
+
|
|
4007
|
+
// src/services/filesystem-service/memory-cache.ts
|
|
4008
|
+
var MemoryCache = class {
|
|
4009
|
+
map = /* @__PURE__ */ new Map();
|
|
4010
|
+
get(k) {
|
|
4011
|
+
const e = this.map.get(k);
|
|
4012
|
+
if (!e) return null;
|
|
4013
|
+
if (e.ttl && Date.now() - e.t > e.ttl) {
|
|
4014
|
+
this.map.delete(k);
|
|
4015
|
+
return null;
|
|
4016
|
+
}
|
|
4017
|
+
return e.value;
|
|
4018
|
+
}
|
|
4019
|
+
set(k, v, ttl = 5 * 60 * 1e3) {
|
|
4020
|
+
this.map.set(k, { value: v, t: Date.now(), ttl });
|
|
4021
|
+
}
|
|
4022
|
+
del(k) {
|
|
4023
|
+
this.map.delete(k);
|
|
4024
|
+
}
|
|
4025
|
+
clear() {
|
|
4026
|
+
this.map.clear();
|
|
4027
|
+
}
|
|
4028
|
+
};
|
|
4029
|
+
var memoryCache = new MemoryCache();
|
|
4030
|
+
|
|
4031
|
+
// src/services/filesystem-service/model-loader.ts
|
|
4032
|
+
var MODELS_DIR = "pos/models";
|
|
4033
|
+
var MODELS_META_DIR = "pos/models_meta";
|
|
4034
|
+
async function loadData(includeMeta = true) {
|
|
4035
|
+
const exists = await fileService.exists(MODELS_DIR);
|
|
4036
|
+
if (!exists) {
|
|
4037
|
+
console.warn("[loadData] MODELS_DIR not exists:", MODELS_DIR);
|
|
4038
|
+
return {};
|
|
4039
|
+
}
|
|
4040
|
+
let listResult;
|
|
4041
|
+
try {
|
|
4042
|
+
listResult = await fileService.list(MODELS_DIR);
|
|
4043
|
+
} catch (e) {
|
|
4044
|
+
console.error("[loadData] list failed:", e);
|
|
4045
|
+
return {};
|
|
4046
|
+
}
|
|
4047
|
+
if (!listResult || !Array.isArray(listResult.files)) {
|
|
4048
|
+
return {};
|
|
4049
|
+
}
|
|
4050
|
+
const result = {};
|
|
4051
|
+
for (const file of listResult.files) {
|
|
4052
|
+
if (file.type !== "file") continue;
|
|
4053
|
+
if (!file.name.endsWith(".json")) continue;
|
|
4054
|
+
const modelName = file.name.replace(/\.json$/, "");
|
|
4055
|
+
const dataPath = `${MODELS_DIR}/${file.name}`;
|
|
4056
|
+
const metaPath = `${MODELS_META_DIR}/${encodeURIComponent(
|
|
4057
|
+
modelName
|
|
4058
|
+
)}.meta.json`;
|
|
4059
|
+
const rawData = await fileService.read(dataPath);
|
|
4060
|
+
if (!rawData) continue;
|
|
4061
|
+
const parsedData = await spawnParseWorker(rawData);
|
|
4062
|
+
const data = Array.isArray(parsedData) ? parsedData : [];
|
|
4063
|
+
if (!includeMeta) {
|
|
4064
|
+
result[modelName] = { data };
|
|
4065
|
+
continue;
|
|
4066
|
+
}
|
|
4067
|
+
const rawMeta = await fileService.read(metaPath);
|
|
4068
|
+
let fields = [];
|
|
4069
|
+
let relations = {};
|
|
4070
|
+
if (rawMeta) {
|
|
4071
|
+
const parsedMeta = await spawnParseWorker(rawMeta);
|
|
4072
|
+
fields = parsedMeta?.fields ?? [];
|
|
4073
|
+
relations = parsedMeta?.relations ?? {};
|
|
4074
|
+
}
|
|
4075
|
+
result[modelName] = { data, fields, relations };
|
|
4076
|
+
}
|
|
4077
|
+
return result;
|
|
4078
|
+
}
|
|
4079
|
+
|
|
4080
|
+
// src/services/pos-service/load-data-pos-session.ts
|
|
3862
4081
|
var loadDataPosSessionService = (env) => {
|
|
4082
|
+
const isLocalMode = env?.isLocalMode;
|
|
3863
4083
|
const loadDataPosSession = useCallback23(
|
|
3864
4084
|
({
|
|
3865
4085
|
model,
|
|
@@ -3870,6 +4090,14 @@ var loadDataPosSessionService = (env) => {
|
|
|
3870
4090
|
modelsToLoad = [],
|
|
3871
4091
|
searchParams
|
|
3872
4092
|
}) => {
|
|
4093
|
+
console.log("isLocalMode", isLocalMode);
|
|
4094
|
+
if (isLocalMode) {
|
|
4095
|
+
return loadData().then((localDb) => ({
|
|
4096
|
+
data: {
|
|
4097
|
+
data: localDb
|
|
4098
|
+
}
|
|
4099
|
+
}));
|
|
4100
|
+
}
|
|
3873
4101
|
const jsonData = {
|
|
3874
4102
|
model,
|
|
3875
4103
|
method: "load_data" /* LOAD_DATA */,
|
|
@@ -3896,7 +4124,7 @@ var loadDataPosSessionService = (env) => {
|
|
|
3896
4124
|
service
|
|
3897
4125
|
);
|
|
3898
4126
|
},
|
|
3899
|
-
[env]
|
|
4127
|
+
[env, isLocalMode]
|
|
3900
4128
|
);
|
|
3901
4129
|
return {
|
|
3902
4130
|
loadDataPosSession
|
|
@@ -4313,6 +4541,9 @@ import { useMutation as useMutation84 } from "@tanstack/react-query";
|
|
|
4313
4541
|
// src/hooks/pos/use-update-order-status.ts
|
|
4314
4542
|
import { useMutation as useMutation85 } from "@tanstack/react-query";
|
|
4315
4543
|
|
|
4544
|
+
// src/hooks/pos/use-init-snapshot.ts
|
|
4545
|
+
import { useMutation as useMutation86 } from "@tanstack/react-query";
|
|
4546
|
+
|
|
4316
4547
|
// src/provider/service-provider.tsx
|
|
4317
4548
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
4318
4549
|
var ServiceContext = createContext2(null);
|
|
@@ -6475,12 +6706,152 @@ function useDashboardService() {
|
|
|
6475
6706
|
);
|
|
6476
6707
|
return { readGroup, getDataChart };
|
|
6477
6708
|
}
|
|
6709
|
+
|
|
6710
|
+
// src/services/filesystem-service/manifest.ts
|
|
6711
|
+
var MANIFEST_PATH = "pos/manifest.json";
|
|
6712
|
+
var MANIFEST_BAK_PATH = "pos/manifest.bak.json";
|
|
6713
|
+
async function writeManifest(manifest) {
|
|
6714
|
+
const oldRaw = await fileService.read(MANIFEST_PATH);
|
|
6715
|
+
if (oldRaw !== null) {
|
|
6716
|
+
await fileService.writeAtomic(MANIFEST_BAK_PATH, oldRaw);
|
|
6717
|
+
}
|
|
6718
|
+
await fileService.writeAtomic(MANIFEST_PATH, JSON.stringify(manifest));
|
|
6719
|
+
try {
|
|
6720
|
+
await fileService.delete(MANIFEST_BAK_PATH);
|
|
6721
|
+
} catch {
|
|
6722
|
+
}
|
|
6723
|
+
}
|
|
6724
|
+
|
|
6725
|
+
// src/services/filesystem-service/import-snapshot.ts
|
|
6726
|
+
var DATA_DIR = "pos";
|
|
6727
|
+
var MODELS_DIR2 = `${DATA_DIR}/models`;
|
|
6728
|
+
var MODELS_META_DIR2 = `${DATA_DIR}/models_meta`;
|
|
6729
|
+
var importSnapshot = async ({ data, onProgress }) => {
|
|
6730
|
+
onProgress?.(1, "Parsing snapshot");
|
|
6731
|
+
const parsed = await spawnParseWorker(data);
|
|
6732
|
+
const modelNames = Object.keys(parsed);
|
|
6733
|
+
const total = modelNames.length;
|
|
6734
|
+
const manifest = { version: (/* @__PURE__ */ new Date()).toISOString(), models: {} };
|
|
6735
|
+
const TMP_PREFIX = `pos/data/tmp_import_${Date.now()}`;
|
|
6736
|
+
await fileService.writeAtomic(`${TMP_PREFIX}/.marker`, "1");
|
|
6737
|
+
let i = 0;
|
|
6738
|
+
for (const model of modelNames) {
|
|
6739
|
+
i++;
|
|
6740
|
+
onProgress?.(
|
|
6741
|
+
Math.round(i / total * 100),
|
|
6742
|
+
`Processing ${model} (${i}/${total})`
|
|
6743
|
+
);
|
|
6744
|
+
const block = parsed[model];
|
|
6745
|
+
const dataPart = block?.data ?? block ?? [];
|
|
6746
|
+
const fields = block?.fields ?? [];
|
|
6747
|
+
const relations = block?.relations ?? {};
|
|
6748
|
+
const serialized = await spawnStringifyWorker(dataPart);
|
|
6749
|
+
const tmpModelPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.json`;
|
|
6750
|
+
await fileService.writeAtomic(tmpModelPath, serialized);
|
|
6751
|
+
const meta = {
|
|
6752
|
+
fields,
|
|
6753
|
+
relations,
|
|
6754
|
+
count: Array.isArray(dataPart) ? dataPart.length : 0,
|
|
6755
|
+
writtenAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
6756
|
+
};
|
|
6757
|
+
const tmpMetaPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`;
|
|
6758
|
+
await fileService.writeAtomic(tmpMetaPath, JSON.stringify(meta));
|
|
6759
|
+
manifest.models[model] = {
|
|
6760
|
+
file: `${MODELS_DIR2}/${encodeURIComponent(model)}.json`,
|
|
6761
|
+
metaFile: `${MODELS_META_DIR2}/${encodeURIComponent(model)}.meta.json`,
|
|
6762
|
+
count: meta.count,
|
|
6763
|
+
updatedAt: meta.writtenAt
|
|
6764
|
+
};
|
|
6765
|
+
}
|
|
6766
|
+
onProgress?.(95, "Committing import (moving files)");
|
|
6767
|
+
for (const model of modelNames) {
|
|
6768
|
+
const tmpModelPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.json`;
|
|
6769
|
+
const finalModelPath = `${MODELS_DIR2}/${encodeURIComponent(model)}.json`;
|
|
6770
|
+
const tmpMetaPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`;
|
|
6771
|
+
const finalMetaPath = `${MODELS_META_DIR2}/${encodeURIComponent(
|
|
6772
|
+
model
|
|
6773
|
+
)}.meta.json`;
|
|
6774
|
+
const tmpRaw = await fileService.read(tmpModelPath);
|
|
6775
|
+
if (tmpRaw !== null) await fileService.writeAtomic(finalModelPath, tmpRaw);
|
|
6776
|
+
const tmpMetaRaw = await fileService.read(tmpMetaPath);
|
|
6777
|
+
if (tmpMetaRaw !== null)
|
|
6778
|
+
await fileService.writeAtomic(finalMetaPath, tmpMetaRaw);
|
|
6779
|
+
onProgress?.(
|
|
6780
|
+
95 + Math.round(
|
|
6781
|
+
(Object.keys(manifest.models).indexOf(model) + 1) / modelNames.length * 5
|
|
6782
|
+
),
|
|
6783
|
+
`Committed ${model}`
|
|
6784
|
+
);
|
|
6785
|
+
}
|
|
6786
|
+
await writeManifest(manifest);
|
|
6787
|
+
try {
|
|
6788
|
+
for (const model of modelNames) {
|
|
6789
|
+
await fileService.delete(
|
|
6790
|
+
`${TMP_PREFIX}/${encodeURIComponent(model)}.json`
|
|
6791
|
+
);
|
|
6792
|
+
await fileService.delete(
|
|
6793
|
+
`${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`
|
|
6794
|
+
);
|
|
6795
|
+
}
|
|
6796
|
+
await fileService.delete(`${TMP_PREFIX}/.marker`);
|
|
6797
|
+
} catch (e) {
|
|
6798
|
+
console.log("Failed to cleanup tmp import files:", e);
|
|
6799
|
+
}
|
|
6800
|
+
onProgress?.(100, "Import complete");
|
|
6801
|
+
return manifest;
|
|
6802
|
+
};
|
|
6803
|
+
var import_snapshot_default = importSnapshot;
|
|
6804
|
+
|
|
6805
|
+
// src/services/filesystem-service/init-snapshot.ts
|
|
6806
|
+
var isSnapshotReady = async () => {
|
|
6807
|
+
try {
|
|
6808
|
+
const raw = await fileService.read("pos/manifest.json");
|
|
6809
|
+
if (!raw) return false;
|
|
6810
|
+
const manifest = JSON.parse(raw);
|
|
6811
|
+
if (!manifest.models || typeof manifest.models !== "object") {
|
|
6812
|
+
return false;
|
|
6813
|
+
}
|
|
6814
|
+
const modelEntries = Object.values(manifest.models);
|
|
6815
|
+
if (modelEntries.length === 0) return false;
|
|
6816
|
+
const firstModel = modelEntries[0];
|
|
6817
|
+
if (!firstModel.file) return false;
|
|
6818
|
+
const modelExists = await fileService.exists(firstModel.file);
|
|
6819
|
+
return modelExists;
|
|
6820
|
+
} catch {
|
|
6821
|
+
return false;
|
|
6822
|
+
}
|
|
6823
|
+
};
|
|
6824
|
+
async function initSnapshot(onProgress) {
|
|
6825
|
+
const ready = await isSnapshotReady();
|
|
6826
|
+
if (ready) {
|
|
6827
|
+
console.log("skip initialization.");
|
|
6828
|
+
return;
|
|
6829
|
+
}
|
|
6830
|
+
console.log("initializing from data.json...");
|
|
6831
|
+
const jsonData = await fetch("/data.json").then((r) => r.text());
|
|
6832
|
+
if (!jsonData) {
|
|
6833
|
+
console.error("cannot load data.json");
|
|
6834
|
+
return;
|
|
6835
|
+
}
|
|
6836
|
+
await import_snapshot_default({
|
|
6837
|
+
data: jsonData,
|
|
6838
|
+
onProgress
|
|
6839
|
+
});
|
|
6840
|
+
}
|
|
6841
|
+
|
|
6842
|
+
// src/services/filesystem-service/index.ts
|
|
6843
|
+
var useFileSystemService = () => {
|
|
6844
|
+
return {
|
|
6845
|
+
initSnapshot
|
|
6846
|
+
};
|
|
6847
|
+
};
|
|
6478
6848
|
export {
|
|
6479
6849
|
useActionService,
|
|
6480
6850
|
useAuthService,
|
|
6481
6851
|
useCompanyService,
|
|
6482
6852
|
useDashboardService,
|
|
6483
6853
|
useExcelService,
|
|
6854
|
+
useFileSystemService,
|
|
6484
6855
|
useFormService,
|
|
6485
6856
|
useKanbanService,
|
|
6486
6857
|
useModelService,
|
package/dist/store.js
CHANGED
package/dist/store.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,90 +1,91 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@fctc/interface-logic",
|
|
3
|
-
"version": "4.2.
|
|
4
|
-
"types": "dist/index.d.ts",
|
|
5
|
-
"main": "dist/index.cjs",
|
|
6
|
-
"module": "dist/index.mjs",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": {
|
|
9
|
-
"types": "./dist/index.d.ts",
|
|
10
|
-
"import": "./dist/index.mjs",
|
|
11
|
-
"require": "./dist/index.cjs"
|
|
12
|
-
},
|
|
13
|
-
"./configs": {
|
|
14
|
-
"types": "./dist/configs.d.ts",
|
|
15
|
-
"import": "./dist/configs.mjs",
|
|
16
|
-
"require": "./dist/configs.cjs"
|
|
17
|
-
},
|
|
18
|
-
"./constants": {
|
|
19
|
-
"types": "./dist/constants.d.ts",
|
|
20
|
-
"import": "./dist/constants.mjs",
|
|
21
|
-
"require": "./dist/constants.cjs"
|
|
22
|
-
},
|
|
23
|
-
"./environment": {
|
|
24
|
-
"types": "./dist/environment.d.ts",
|
|
25
|
-
"import": "./dist/environment.mjs",
|
|
26
|
-
"require": "./dist/environment.cjs"
|
|
27
|
-
},
|
|
28
|
-
"./hooks": {
|
|
29
|
-
"types": "./dist/hooks.d.ts",
|
|
30
|
-
"import": "./dist/hooks.mjs",
|
|
31
|
-
"require": "./dist/hooks.cjs"
|
|
32
|
-
},
|
|
33
|
-
"./provider": {
|
|
34
|
-
"types": "./dist/provider.d.ts",
|
|
35
|
-
"import": "./dist/provider.mjs",
|
|
36
|
-
"require": "./dist/provider.cjs"
|
|
37
|
-
},
|
|
38
|
-
"./services": {
|
|
39
|
-
"types": "./dist/services.d.ts",
|
|
40
|
-
"import": "./dist/services.mjs",
|
|
41
|
-
"require": "./dist/services.cjs"
|
|
42
|
-
},
|
|
43
|
-
"./store": {
|
|
44
|
-
"types": "./dist/store.d.ts",
|
|
45
|
-
"import": "./dist/store.mjs",
|
|
46
|
-
"require": "./dist/store.cjs"
|
|
47
|
-
},
|
|
48
|
-
"./utils": {
|
|
49
|
-
"types": "./dist/utils.d.ts",
|
|
50
|
-
"import": "./dist/utils.mjs",
|
|
51
|
-
"require": "./dist/utils.cjs"
|
|
52
|
-
},
|
|
53
|
-
"./types": {
|
|
54
|
-
"types": "./dist/types.d.ts",
|
|
55
|
-
"import": "./dist/types.mjs",
|
|
56
|
-
"require": "./dist/types.cjs"
|
|
57
|
-
},
|
|
58
|
-
"./models": {
|
|
59
|
-
"types": "./dist/models.d.ts",
|
|
60
|
-
"import": "./dist/models.mjs",
|
|
61
|
-
"require": "./dist/models.cjs"
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
"files": [
|
|
65
|
-
"dist"
|
|
66
|
-
],
|
|
67
|
-
"scripts": {
|
|
68
|
-
"build": "tsup",
|
|
69
|
-
"test": "jest"
|
|
70
|
-
},
|
|
71
|
-
"peerDependencies": {
|
|
72
|
-
"react": "
|
|
73
|
-
"
|
|
74
|
-
},
|
|
75
|
-
"dependencies": {
|
|
76
|
-
"@
|
|
77
|
-
"@
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
"react": "18.
|
|
85
|
-
"jest": "^29.7.0",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@fctc/interface-logic",
|
|
3
|
+
"version": "4.2.9",
|
|
4
|
+
"types": "dist/index.d.ts",
|
|
5
|
+
"main": "dist/index.cjs",
|
|
6
|
+
"module": "dist/index.mjs",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.mjs",
|
|
11
|
+
"require": "./dist/index.cjs"
|
|
12
|
+
},
|
|
13
|
+
"./configs": {
|
|
14
|
+
"types": "./dist/configs.d.ts",
|
|
15
|
+
"import": "./dist/configs.mjs",
|
|
16
|
+
"require": "./dist/configs.cjs"
|
|
17
|
+
},
|
|
18
|
+
"./constants": {
|
|
19
|
+
"types": "./dist/constants.d.ts",
|
|
20
|
+
"import": "./dist/constants.mjs",
|
|
21
|
+
"require": "./dist/constants.cjs"
|
|
22
|
+
},
|
|
23
|
+
"./environment": {
|
|
24
|
+
"types": "./dist/environment.d.ts",
|
|
25
|
+
"import": "./dist/environment.mjs",
|
|
26
|
+
"require": "./dist/environment.cjs"
|
|
27
|
+
},
|
|
28
|
+
"./hooks": {
|
|
29
|
+
"types": "./dist/hooks.d.ts",
|
|
30
|
+
"import": "./dist/hooks.mjs",
|
|
31
|
+
"require": "./dist/hooks.cjs"
|
|
32
|
+
},
|
|
33
|
+
"./provider": {
|
|
34
|
+
"types": "./dist/provider.d.ts",
|
|
35
|
+
"import": "./dist/provider.mjs",
|
|
36
|
+
"require": "./dist/provider.cjs"
|
|
37
|
+
},
|
|
38
|
+
"./services": {
|
|
39
|
+
"types": "./dist/services.d.ts",
|
|
40
|
+
"import": "./dist/services.mjs",
|
|
41
|
+
"require": "./dist/services.cjs"
|
|
42
|
+
},
|
|
43
|
+
"./store": {
|
|
44
|
+
"types": "./dist/store.d.ts",
|
|
45
|
+
"import": "./dist/store.mjs",
|
|
46
|
+
"require": "./dist/store.cjs"
|
|
47
|
+
},
|
|
48
|
+
"./utils": {
|
|
49
|
+
"types": "./dist/utils.d.ts",
|
|
50
|
+
"import": "./dist/utils.mjs",
|
|
51
|
+
"require": "./dist/utils.cjs"
|
|
52
|
+
},
|
|
53
|
+
"./types": {
|
|
54
|
+
"types": "./dist/types.d.ts",
|
|
55
|
+
"import": "./dist/types.mjs",
|
|
56
|
+
"require": "./dist/types.cjs"
|
|
57
|
+
},
|
|
58
|
+
"./models": {
|
|
59
|
+
"types": "./dist/models.d.ts",
|
|
60
|
+
"import": "./dist/models.mjs",
|
|
61
|
+
"require": "./dist/models.cjs"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"files": [
|
|
65
|
+
"dist"
|
|
66
|
+
],
|
|
67
|
+
"scripts": {
|
|
68
|
+
"build": "tsup",
|
|
69
|
+
"test": "jest"
|
|
70
|
+
},
|
|
71
|
+
"peerDependencies": {
|
|
72
|
+
"@tanstack/react-query": "^5.83.0",
|
|
73
|
+
"react": "18.0.0"
|
|
74
|
+
},
|
|
75
|
+
"dependencies": {
|
|
76
|
+
"@capacitor/filesystem": "^8.0.0",
|
|
77
|
+
"@reduxjs/toolkit": "^2.8.2",
|
|
78
|
+
"@tanstack/react-query": "^5.83.0",
|
|
79
|
+
"axios": "^1.11.0",
|
|
80
|
+
"moment": "^2.30.1",
|
|
81
|
+
"react-redux": "^9.2.0"
|
|
82
|
+
},
|
|
83
|
+
"devDependencies": {
|
|
84
|
+
"@types/react": "^18.3.1",
|
|
85
|
+
"jest": "^29.7.0",
|
|
86
|
+
"react": "18.0.0",
|
|
87
|
+
"tsup": "^8.0.0",
|
|
88
|
+
"typescript": "^5.8.2"
|
|
89
|
+
},
|
|
90
|
+
"packageManager": "yarn@1.22.0"
|
|
91
|
+
}
|