import {
op_generate_nanoid,
op_generate_ulid,
op_tanxium_version
} from 'ext:core/ops';
let TanxiumRuntimeData = {};
const Tanxium = Object.assign({}, Deno, {
version: {
...Deno.version,
tanxium: op_tanxium_version(),
},
uuid() {
return crypto.randomUUID();
},
nanoid() {
return op_generate_nanoid();
},
ulid() {
return op_generate_ulid();
},
getRuntimeDataString() {
return JSON.stringify(Tanxium.getRuntimeData());
},
getRuntimeData() {
const data = TanxiumRuntimeData;
if (data === undefined) {
const data = TanxiumRuntimeData = {};
return data;
}
return data;
},
setRuntimeData(value) {
if (!value || typeof value !== 'object') {
throw new TypeError('Invalid runtime data, expected an object');
}
TanxiumRuntimeData = value;
},
clearRuntimeData() {
TanxiumRuntimeData = {};
},
})
if (typeof 'process' !== 'undefined' && 'versions' in process) {
process.versions.tanxium = Tanxium.version.tanxium;
}
Object.defineProperty(globalThis, "Tanxium", {
value: Tanxium,
writable: false,
configurable: false,
enumerable: true,
});
Object.assign(globalThis, {
test: function () { },
expect: function () { },
AssertionError: Error,
});