smoothly 1.0.0-alpha.166 → 1.0.0-alpha.168
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/cjs/{Data-e2c3cff8.js → Data-7233501a.js} +2 -1
- package/dist/cjs/Data-7233501a.js.map +1 -0
- package/dist/cjs/{getLanguage-9f898047.js → TimeZone-f66028e8.js} +52 -6167
- package/dist/cjs/TimeZone-f66028e8.js.map +1 -0
- package/dist/cjs/getLanguage-49a534df.js +6118 -0
- package/dist/cjs/getLanguage-49a534df.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/smoothly-app_71.cjs.entry.js +98 -152
- package/dist/cjs/smoothly-app_71.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-checkbox.cjs.entry.js +102 -0
- package/dist/cjs/smoothly-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/smoothly-country.cjs.entry.js +48 -47
- package/dist/cjs/smoothly-country.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-trigger-source.cjs.entry.js +1 -1
- package/dist/cjs/smoothly.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/input/Input.js +1 -1
- package/dist/collection/components/input/Input.js.map +1 -1
- package/dist/collection/components/input/checkbox/index.js +229 -0
- package/dist/collection/components/input/checkbox/index.js.map +1 -0
- package/dist/collection/components/input/checkbox/style.css +29 -0
- package/dist/collection/components/input/demo/index.js +1 -1
- package/dist/collection/components/input/demo/index.js.map +1 -1
- package/dist/collection/components/input/demo/style.css +6 -0
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +95 -54
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/{Data-71f4341b.js → Data-f460d49f.js} +2 -2
- package/dist/esm/{Data-71f4341b.js.map → Data-f460d49f.js.map} +1 -1
- package/dist/esm/TimeZone-1321f305.js +6127 -0
- package/dist/esm/TimeZone-1321f305.js.map +1 -0
- package/dist/esm/getLanguage-1e9ec036.js +6116 -0
- package/dist/esm/getLanguage-1e9ec036.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/smoothly-app_71.entry.js +66 -120
- package/dist/esm/smoothly-app_71.entry.js.map +1 -1
- package/dist/esm/smoothly-checkbox.entry.js +98 -0
- package/dist/esm/smoothly-checkbox.entry.js.map +1 -0
- package/dist/esm/smoothly-country.entry.js +2 -1
- package/dist/esm/smoothly-country.entry.js.map +1 -1
- package/dist/esm/smoothly-trigger-sink.entry.js +1 -1
- package/dist/esm/smoothly-trigger-source.entry.js +1 -1
- package/dist/esm/smoothly.js +1 -1
- package/dist/smoothly/index.esm.js +1 -1
- package/dist/smoothly/{p-8f6f15f0.entry.js → p-30706ff3.entry.js} +2 -2
- package/dist/smoothly/p-312ef066.js +2 -0
- package/dist/smoothly/p-312ef066.js.map +1 -0
- package/dist/smoothly/p-359d67a7.entry.js +2 -0
- package/dist/smoothly/p-359d67a7.entry.js.map +1 -0
- package/dist/smoothly/{p-2f3cccfe.entry.js → p-35b7c4e6.entry.js} +2 -2
- package/dist/smoothly/p-85f682f3.entry.js +2 -0
- package/dist/smoothly/{p-fd6ce760.entry.js.map → p-85f682f3.entry.js.map} +1 -1
- package/dist/smoothly/{p-4df4f838.js → p-b9278bc3.js} +2 -2
- package/dist/smoothly/p-f125610c.entry.js +2 -0
- package/dist/smoothly/p-f125610c.entry.js.map +1 -0
- package/dist/smoothly/p-ffcfebcc.js +2 -0
- package/dist/smoothly/p-ffcfebcc.js.map +1 -0
- package/dist/smoothly/smoothly.esm.js +1 -1
- package/dist/smoothly/smoothly.esm.js.map +1 -1
- package/dist/types/components/input/checkbox/index.d.ts +20 -0
- package/dist/types/components.d.ts +31 -0
- package/package.json +1 -1
- package/dist/cjs/Data-e2c3cff8.js.map +0 -1
- package/dist/cjs/getLanguage-9f898047.js.map +0 -1
- package/dist/esm/getLanguage-02b3c8d3.js +0 -12240
- package/dist/esm/getLanguage-02b3c8d3.js.map +0 -1
- package/dist/smoothly/p-1a108f60.js +0 -2
- package/dist/smoothly/p-1a108f60.js.map +0 -1
- package/dist/smoothly/p-2023b836.entry.js +0 -2
- package/dist/smoothly/p-2023b836.entry.js.map +0 -1
- package/dist/smoothly/p-fd6ce760.entry.js +0 -2
- /package/dist/smoothly/{p-8f6f15f0.entry.js.map → p-30706ff3.entry.js.map} +0 -0
- /package/dist/smoothly/{p-2f3cccfe.entry.js.map → p-35b7c4e6.entry.js.map} +0 -0
- /package/dist/smoothly/{p-4df4f838.js.map → p-b9278bc3.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"Data-7233501a.js","mappings":"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","names":["Identifier","Base64.encode","Base64.decode","next","Base64.next","Algorithm","Symmetric","SignerAlgorithm","Hash","SignerHash","CCrypto","CConverter","CRenamer","Converter","Crypto","Renamer","NameSymmetric","NameAsymmetric","Asymmetric","this","Name","AlgorithmName","criteriaFunctions","Color","isly.string","Icon","Data","isly.union","isly.number","isly.boolean","isly.fromIs","isly.undefined","isly.record","isly.lazy"],"sources":["./node_modules/cryptly/dist/TextEncoder.js","./node_modules/cryptly/dist/Base64.js","./node_modules/cryptly/dist/crypto.browser.js","./node_modules/cryptly/dist/Algorithms.js","./node_modules/cryptly/dist/Encrypted.js","./node_modules/cryptly/dist/Identifier.js","./node_modules/cryptly/dist/Password.js","./node_modules/cryptly/dist/RandomValue.js","./node_modules/cryptly/dist/Signer/Algorithm.js","./node_modules/cryptly/dist/Signer/Base.js","./node_modules/cryptly/dist/Signer/ECDSA.js","./node_modules/cryptly/dist/Signer/Hash.js","./node_modules/cryptly/dist/Signer/Symmetric.js","./node_modules/cryptly/dist/Signer/HMAC.js","./node_modules/cryptly/dist/Signer/None.js","./node_modules/cryptly/dist/Signer/Rsa.js","./node_modules/cryptly/dist/Signer/index.js","./node_modules/authly/dist/shim/TypedArray-from.js","./node_modules/authly/dist/Property/Creatable/Converter.js","./node_modules/authly/dist/Property/Creatable/Crypto.js","./node_modules/authly/dist/Property/Creatable/Renamer.js","./node_modules/authly/dist/Property/Creatable/index.js","./node_modules/authly/dist/Property/Transformer.js","./node_modules/authly/dist/Algorithm/Name/Asymmetric.js","./node_modules/authly/dist/Algorithm/Name/Symmetric.js","./node_modules/authly/dist/Algorithm/Name/index.js","./node_modules/authly/dist/Algorithm/index.js","./node_modules/authly/dist/Token.js","./node_modules/isly/dist/mjs/Type.js","./node_modules/isly/dist/mjs/boolean.js","./node_modules/isly/dist/mjs/lazy.js","./node_modules/isly/dist/mjs/object.js","./node_modules/isly/dist/mjs/string.js","./node_modules/isly/dist/mjs/Flaw.js","./node_modules/isly/dist/mjs/fromIs.js","./node_modules/isly/dist/mjs/number.js","./node_modules/isly/dist/mjs/record.js","./node_modules/isly/dist/mjs/union.js","./node_modules/isly/dist/mjs/undefined.js","./src/model/Color.ts","./src/model/Icon.ts","./src/model/Message.ts","./src/model/Trigger.ts","./src/model/Listenable.ts","./src/model/Data.ts"],"sourcesContent":["export class TextEncoder {\n constructor() {\n this.encoding = \"utf-8\";\n }\n encode(data) {\n return Uint8Array.from(unescape(encodeURIComponent(data)).split(\"\"), c => c.charCodeAt(0));\n }\n}\n//# sourceMappingURL=TextEncoder.js.map","import { TextEncoder } from \"./TextEncoder\";\nconst tables = {\n standard: \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",\n url: \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",\n};\nexport function encode(value, standard = \"standard\", padding = \"\") {\n if (typeof value == \"string\")\n value = new TextEncoder().encode(value);\n const table = tables[standard];\n const result = [];\n for (let c = 0; c < value.length; c += 3) {\n const c0 = value[c];\n const c1 = c + 1 < value.length ? value[c + 1] : 0;\n const c2 = c + 2 < value.length ? value[c + 2] : 0;\n result.push(table[c0 >>> 2]);\n result.push(table[((c0 & 3) << 4) | (c1 >>> 4)]);\n result.push(table[((c1 & 15) << 2) | (c2 >>> 6)]);\n result.push(table[c2 & 63]);\n }\n const length = Math.ceil((value.length / 3) * 4);\n return result.join(\"\").substr(0, length) + padding.repeat(result.length - length);\n}\nexport function decode(value, standard = \"standard\") {\n while (value.endsWith(\"=\") && value.length > 0)\n value = value.substr(0, value.length - 1);\n const table = tables[standard];\n const data = value.split(\"\").map(c => table.indexOf(c));\n const result = new Uint8Array(Math.floor((data.length / 4) * 3));\n for (let c = 0; c < result.length; c += 3) {\n const d0 = data.shift() || 0;\n const d1 = data.shift() || 0;\n const d2 = data.shift() || 0;\n const d3 = data.shift() || 0;\n result[c] = (d0 << 2) | (d1 >>> 4);\n result[c + 1] = ((d1 & 15) << 4) | (d2 >>> 2);\n result[c + 2] = ((d2 & 3) << 6) | d3;\n }\n return result;\n}\nexport function next(value, increment = 1, standard = \"standard\") {\n const table = tables[standard];\n const rest = value.length > 1 ? value.substring(0, value.length - 1) : increment > 0 ? \"\" : table[63];\n const number = (value.length == 0 ? 0 : table.indexOf(value[value.length - 1])) + increment;\n return ((number > 63 || number < 0 ? next(rest, Math.floor(number / 63), standard) : rest) + table[remainder(number, 64)]);\n}\nfunction remainder(left, right) {\n return left >= 0 ? left % right : remainder(left + right, right);\n}\n//# sourceMappingURL=Base64.js.map","export const crypto = typeof window != \"undefined\"\n ? window.crypto || window.msCrypto\n : self.crypto || self.msCrypto;\n//# sourceMappingURL=crypto.browser.js.map","export var Algorithms;\n(function (Algorithms) {\n function create(create, current, ...secrets) {\n const [first, ...remainder] = isStringArray(secrets)\n ? secrets.map(part => Object.fromEntries(part.split(\",\").map(secret => secret.split(\":\", 2).map(item => item.trim()))))\n : secrets;\n const result = Object.assign({}, ...Object.entries(first)\n .map(([name, secret]) => [\n name,\n [secret, ...remainder.map(part => part[name]).filter(part => part)],\n ])\n .map(([name, secrets]) => ({\n get [name]() {\n return Object.assign(create(secrets), { name });\n },\n })));\n return { current: result[current], ...result };\n }\n Algorithms.create = create;\n})(Algorithms || (Algorithms = {}));\nfunction isStringArray(value) {\n return Array.isArray(value) && value.length > 0 && typeof value[0] == \"string\";\n}\n//# sourceMappingURL=Algorithms.js.map","export var Encrypted;\n(function (Encrypted) {\n function is(value) {\n return (typeof value == \"object\" &&\n (value.key == undefined || typeof value.key == \"string\") &&\n typeof value.value == \"string\" &&\n typeof value.salt == \"string\");\n }\n Encrypted.is = is;\n function stringify(encrypted) {\n encrypted.key = encrypted.key && encrypted.key.length != 4 ? encrypted.key.slice(-2) : encrypted.key;\n return [encrypted.key, encrypted.salt, encrypted.value].join(\".\");\n }\n Encrypted.stringify = stringify;\n function parse(encryptedString) {\n const splitted = encryptedString.split(\".\");\n const encrypted = { key: splitted[0], salt: splitted[1], value: splitted[2] };\n return Encrypted.is(encrypted) ? encrypted : undefined;\n }\n Encrypted.parse = parse;\n})(Encrypted || (Encrypted = {}));\n//# sourceMappingURL=Encrypted.js.map","import * as Base64 from \"./Base64\";\nimport { crypto } from \"./crypto\";\nexport var Identifier;\n(function (Identifier) {\n function is(value, length) {\n return (typeof value == \"string\" &&\n (length == undefined || value.length == length) &&\n Array.from(value).every(c => (c >= \"0\" && c <= \"9\") || (c >= \"A\" && c <= \"Z\") || (c >= \"a\" && c <= \"z\") || c == \"-\" || c == \"_\"));\n }\n Identifier.is = is;\n function fromUint24(value) {\n return fromHexadecimal(value.toString(16).padStart(6, \"0\"));\n }\n Identifier.fromUint24 = fromUint24;\n function toUint24(identifier) {\n return Number.parseInt(toHexadecimal(identifier, 6), 16);\n }\n Identifier.toUint24 = toUint24;\n function fromUint48(value) {\n return fromHexadecimal(value.toString(16).padStart(12, \"0\"));\n }\n Identifier.fromUint48 = fromUint48;\n function toUint48(identifier) {\n return Number.parseInt(toHexadecimal(identifier, 12), 16);\n }\n Identifier.toUint48 = toUint48;\n function fromBinary(identifier) {\n return Base64.encode(identifier, \"url\");\n }\n Identifier.fromBinary = fromBinary;\n function toBinary(identifier) {\n return Base64.decode(identifier, \"url\");\n }\n Identifier.toBinary = toBinary;\n function generate(length) {\n return fromBinary(crypto.getRandomValues(new Uint8Array((length / 4) * 3)));\n }\n Identifier.generate = generate;\n function fromHexadecimal(identifier) {\n if (identifier.length % 2 == 1)\n identifier += \"0\";\n const result = new Uint8Array(identifier.length / 2);\n for (let index = 0; index < result.length; index++)\n result[index] = Number.parseInt(identifier[index * 2], 16) * 16 + Number.parseInt(identifier[index * 2 + 1], 16);\n return fromBinary(result);\n }\n Identifier.fromHexadecimal = fromHexadecimal;\n function toHexadecimal(identifier, length) {\n const data = Base64.decode(identifier, \"url\");\n let result = [];\n for (const d of data)\n result.push(Math.floor(d / 16).toString(16), (d % 16).toString(16));\n if (length)\n result = result.slice(0, length);\n return result.join(\"\");\n }\n Identifier.toHexadecimal = toHexadecimal;\n function min(length) {\n return \"\".padStart(length, \"A\");\n }\n Identifier.min = min;\n function max(length) {\n return \"\".padStart(length, \"_\");\n }\n Identifier.max = max;\n function next(identifier, increment = 1) {\n const result = Base64.next(identifier, increment, \"url\");\n return result.length == identifier.length ? result : result.substring(result.length - identifier.length);\n }\n Identifier.next = next;\n function previous(identifier, decrement = 1) {\n return next(identifier, -decrement);\n }\n Identifier.previous = previous;\n Identifier.length = [\n 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112,\n 116, 120, 124, 128,\n ];\n let Length;\n (function (Length) {\n function is(value) {\n return typeof value == \"number\" && value >= 4 && value <= 128 && (value & 252) == value;\n }\n Length.is = is;\n })(Length = Identifier.Length || (Identifier.Length = {}));\n})(Identifier || (Identifier = {}));\n//# sourceMappingURL=Identifier.js.map","import * as Base64 from \"./Base64\";\nimport { crypto } from \"./crypto\";\nexport var Password;\n(function (Password) {\n function is(value) {\n return (typeof value == \"string\" ||\n (typeof value == \"object\" && typeof value.hash == \"string\" && typeof value.salt == \"string\"));\n }\n Password.is = is;\n async function hash(algorithm, password, salt) {\n if (!salt)\n salt = Base64.encode(crypto.getRandomValues(new Uint8Array(64)));\n return {\n hash: await algorithm.sign(salt + password),\n salt,\n };\n }\n Password.hash = hash;\n async function verify(algorithm, hash, password) {\n return (await Password.hash(algorithm, password, hash.salt)).hash == hash.hash;\n }\n Password.verify = verify;\n let Hashed;\n (function (Hashed) {\n function is(value) {\n return typeof value == \"object\" && typeof value.hash == \"string\" && typeof value.salt == \"string\";\n }\n Hashed.is = is;\n })(Hashed = Password.Hashed || (Password.Hashed = {}));\n})(Password || (Password = {}));\n//# sourceMappingURL=Password.js.map","import { crypto } from \"./crypto\";\nexport var RandomValue;\n(function (RandomValue) {\n function generate(array) {\n return crypto.getRandomValues(array);\n }\n RandomValue.generate = generate;\n})(RandomValue || (RandomValue = {}));\n//# sourceMappingURL=RandomValue.js.map","export var Algorithm;\n(function (Algorithm) {\n function is(value) {\n return value == \"HMAC\" || value == \"RSA\" || value == \"ECDSA\" || value == \"RSA-PSS\";\n }\n Algorithm.is = is;\n})(Algorithm || (Algorithm = {}));\n//# sourceMappingURL=Algorithm.js.map","import * as Base64 from \"../Base64\";\nimport { TextEncoder } from \"../TextEncoder\";\nexport class Base {\n async sign(data) {\n return typeof data == \"string\"\n ? Base64.encode(await this.signBinary(new TextEncoder().encode(data)), \"url\")\n : this.signBinary(data);\n }\n verify(data, signature) {\n if (typeof signature == \"string\")\n signature = Base64.decode(signature, \"url\");\n return typeof data == \"string\"\n ? this.verifyBinary(new TextEncoder().encode(data), signature)\n : this.verifyBinary(data, signature);\n }\n}\n//# sourceMappingURL=Base.js.map","import * as Base64 from \"../Base64\";\nimport { crypto } from \"../crypto\";\nimport { Base } from \"./Base\";\nexport class ECDSA extends Base {\n constructor(hash, publicKey, privateKey) {\n super();\n this.hash = hash;\n if (publicKey) {\n if (typeof publicKey == \"string\")\n publicKey = Base64.decode(publicKey);\n this.publicKey = crypto.subtle.importKey(\"spki\", publicKey, { name: \"ECDSA\", namedCurve: hash.replace(\"SHA\", \"P\") == \"P-512\" ? \"P-521\" : hash.replace(\"SHA\", \"P\") }, false, [\"verify\"]);\n }\n if (privateKey) {\n if (typeof privateKey == \"string\")\n privateKey = Base64.decode(privateKey);\n this.privateKey = crypto.subtle.importKey(\"pkcs8\", privateKey, { name: \"ECDSA\", namedCurve: hash.replace(\"SHA\", \"P\") == \"P-512\" ? \"P-521\" : hash.replace(\"SHA\", \"P\") }, true, [\"sign\", \"verify\"]);\n }\n }\n async signBinary(data) {\n return new Uint8Array(await crypto.subtle.sign({ name: \"ECDSA\", hash: { name: this.hash } }, await this.privateKey, data));\n }\n async verifyBinary(data, signature) {\n return crypto.subtle.verify({ name: \"ECDSA\", hash: { name: this.hash } }, await this.publicKey, signature, data);\n }\n}\n//# sourceMappingURL=ECDSA.js.map","export var Hash;\n(function (Hash) {\n function is(value) {\n return value == \"SHA-1\" || value == \"SHA-256\" || value == \"SHA-384\" || value == \"SHA-512\";\n }\n Hash.is = is;\n})(Hash || (Hash = {}));\n//# sourceMappingURL=Hash.js.map","import * as Base64 from \"../Base64\";\nimport { Base } from \"./Base\";\nexport class Symmetric extends Base {\n async verifyBinary(data, signature) {\n return Base64.encode(await this.signBinary(data), \"url\") == Base64.encode(signature, \"url\");\n }\n}\n//# sourceMappingURL=Symmetric.js.map","import * as Base64 from \"../Base64\";\nimport { crypto } from \"../crypto\";\nimport { Symmetric } from \"./Symmetric\";\nexport class HMAC extends Symmetric {\n constructor(hash, key) {\n super();\n this.hash = hash;\n if (typeof key == \"string\")\n key = Base64.decode(key, \"url\");\n this.key = crypto.subtle.importKey(\"raw\", key, { name: \"HMAC\", hash: { name: hash } }, false, [\"sign\", \"verify\"]);\n }\n async signBinary(data) {\n return new Uint8Array(await crypto.subtle.sign(\"HMAC\", await this.key, data));\n }\n}\n//# sourceMappingURL=HMAC.js.map","import { Symmetric } from \"./Symmetric\";\nexport class None extends Symmetric {\n signBinary(_) {\n return Promise.resolve(new Uint8Array(0));\n }\n}\n//# sourceMappingURL=None.js.map","import * as Base64 from \"../Base64\";\nimport { crypto } from \"../crypto\";\nimport { Base } from \"./Base\";\nexport class Rsa extends Base {\n constructor(variant, publicKey, privateKey) {\n super();\n this.variant = variant;\n this.publicKey = publicKey;\n this.privateKey = privateKey;\n }\n get parameters() {\n return getParameters(this.variant);\n }\n async signBinary(data) {\n return this.privateKey\n ? new Uint8Array(await crypto.subtle.sign(this.parameters, await this.privateKey, data))\n : new Uint8Array(0);\n }\n async verifyBinary(data, signature) {\n return !!this.publicKey && crypto.subtle.verify(this.parameters, await this.publicKey, signature, data);\n }\n async export(type, format = \"base64\") {\n const key = await (type == \"private\" ? this.privateKey : this.publicKey);\n let result;\n if (key)\n switch (format) {\n case \"jwk\":\n result = await crypto.subtle.exportKey(\"jwk\", key);\n break;\n case \"buffer\":\n result = await crypto.subtle.exportKey(type == \"private\" ? \"pkcs8\" : \"spki\", key);\n break;\n case \"base64\":\n {\n const data = await this.export(type, \"buffer\");\n result = data && Base64.encode(new Uint8Array(data), \"standard\", \"=\");\n }\n break;\n case \"pem\":\n {\n const data = await this.export(type, \"base64\");\n result =\n data &&\n [\n `-----BEGIN ${type.toUpperCase()} KEY-----`,\n ...slice(data, 64),\n `-----END ${type.toUpperCase()} KEY-----`,\n ].join(\"\\n\");\n }\n break;\n }\n return result;\n }\n static import(variant, hash, publicKey, privateKey) {\n return new Rsa(variant, Rsa.importHelper(variant, hash, \"public\", publicKey), Rsa.importHelper(variant, hash, \"private\", privateKey));\n }\n static importHelper(variant, hash, type, key) {\n if (typeof key == \"string\")\n key = Base64.decode(key);\n return (key &&\n crypto.subtle.importKey(type == \"private\" ? \"pkcs8\" : \"spki\", key, { name: getParameters(variant).name, hash: { name: hash } }, true, [type == \"private\" ? \"sign\" : \"verify\"]));\n }\n static generate(variant, hash, length) {\n const keyPair = crypto.subtle.generateKey({\n name: getParameters(variant).name,\n modulusLength: length,\n publicExponent: new Uint8Array([1, 0, 1]),\n hash,\n }, true, [\"sign\", \"verify\"]);\n return new Rsa(variant, keyPair.then(value => value.publicKey), keyPair.then(value => value.privateKey));\n }\n}\nfunction* slice(data, length) {\n let start = 0;\n while (start < data.length)\n yield data.slice(start, (start = start + length));\n}\nfunction getParameters(variant) {\n return variant == \"PSS\" ? { name: \"RSA-PSS\", saltLength: 128 } : { name: \"RSASSA-PKCS1-v1_5\" };\n}\n//# sourceMappingURL=Rsa.js.map","import { Algorithm as SignerAlgorithm } from \"./Algorithm\";\nimport { ECDSA } from \"./ECDSA\";\nimport { Hash as SignerHash } from \"./Hash\";\nimport { HMAC } from \"./HMAC\";\nimport { None } from \"./None\";\nimport { Rsa } from \"./Rsa\";\nexport var Signer;\n(function (Signer) {\n let Algorithm;\n (function (Algorithm) {\n Algorithm.is = SignerAlgorithm.is;\n })(Algorithm = Signer.Algorithm || (Signer.Algorithm = {}));\n let Hash;\n (function (Hash) {\n Hash.is = SignerHash.is;\n })(Hash = Signer.Hash || (Signer.Hash = {}));\n function generate(algorithm, hash, length) {\n let result;\n switch (algorithm) {\n case \"RSA\":\n result = Rsa.generate(\"SSA\", hash, length);\n break;\n case \"RSA-PSS\":\n result = Rsa.generate(\"PSS\", hash, length);\n break;\n }\n return result;\n }\n Signer.generate = generate;\n function create(algorithm, hash, ...keys) {\n let result;\n if (hash != undefined)\n switch (algorithm) {\n case \"HMAC\":\n result = new HMAC(hash, keys[0]);\n break;\n case \"RSA\":\n result = Rsa.import(\"SSA\", hash, keys[0], keys[1]);\n break;\n case \"RSA-PSS\":\n result = Rsa.import(\"PSS\", hash, keys[0], keys[1]);\n break;\n case \"ECDSA\":\n result = new ECDSA(hash, keys[0], keys[1]);\n break;\n }\n else if (algorithm == \"None\")\n result = new None();\n return result;\n }\n Signer.create = create;\n})(Signer || (Signer = {}));\n//# sourceMappingURL=index.js.map","if (!Uint8Array.__proto__.from) {\n ;\n (() => {\n Uint8Array.__proto__.from = function (object, theFunction, thisObject) {\n const typedArrayClass = Uint8Array.__proto__;\n if (typeof this !== \"function\") {\n throw new TypeError(\"# is not a constructor\");\n }\n if (this.__proto__ !== typedArrayClass) {\n throw new TypeError(\"this is not a typed array.\");\n }\n theFunction = theFunction || (element => element);\n if (typeof theFunction !== \"function\") {\n throw new TypeError(\"specified argument is not a function\");\n }\n object = Object(object);\n if (!object.length) {\n return new this(0);\n }\n let copyData = [];\n for (const data of copyData) {\n copyData.push(data);\n }\n copyData = copyData.map(theFunction, thisObject);\n const typedArray = new this(copyData.length);\n for (let i = 0; i < typedArray.length; i++) {\n typedArray[i] = copyData[i];\n }\n return typedArray;\n };\n })();\n}\n//# sourceMappingURL=TypedArray-from.js.map","export var Converter;\n(function (Converter) {\n function is(value) {\n return (typeof value == \"object\" &&\n Object.values(value).every(v => v &&\n typeof v == \"object\" &&\n \"forward\" in v &&\n typeof v.forward == \"function\" &&\n \"backward\" in v &&\n typeof v.backward == \"function\"));\n }\n Converter.is = is;\n})(Converter || (Converter = {}));\n//# sourceMappingURL=Converter.js.map","export var Crypto;\n(function (Crypto) {\n function is(value) {\n return Array.isArray(value) && value.every(v => typeof v == \"string\");\n }\n Crypto.is = is;\n})(Crypto || (Crypto = {}));\n//# sourceMappingURL=Crypto.js.map","export var Renamer;\n(function (Renamer) {\n function is(value) {\n return typeof value == \"object\" && Object.entries(value).every(thing => typeof thing[1] == \"string\");\n }\n Renamer.is = is;\n})(Renamer || (Renamer = {}));\n//# sourceMappingURL=Renamer.js.map","import { Converter as CConverter } from \"./Converter\";\nimport { Crypto as CCrypto } from \"./Crypto\";\nimport { Renamer as CRenamer } from \"./Renamer\";\nexport var Creatable;\n(function (Creatable) {\n function is(value) {\n return CCrypto.is(value) || CConverter.is(value) || CRenamer.is(value);\n }\n Creatable.is = is;\n let Converter;\n (function (Converter) {\n Converter.is = CConverter.is;\n })(Converter = Creatable.Converter || (Creatable.Converter = {}));\n let Crypto;\n (function (Crypto) {\n Crypto.is = CCrypto.is;\n })(Crypto = Creatable.Crypto || (Creatable.Crypto = {}));\n let Renamer;\n (function (Renamer) {\n Renamer.is = CRenamer.is;\n })(Renamer = Creatable.Renamer || (Creatable.Renamer = {}));\n})(Creatable || (Creatable = {}));\n//# sourceMappingURL=index.js.map","export var Transformer;\n(function (Transformer) {\n function is(value) {\n return typeof value == \"object\" && typeof value.apply == \"function\" && typeof value.reverse == \"function\";\n }\n Transformer.is = is;\n function create(transformer) {\n return {\n apply: transformer.apply ? transformer.apply : (v) => v,\n reverse: transformer.reverse ? transformer.reverse : (v) => v,\n };\n }\n Transformer.create = create;\n})(Transformer || (Transformer = {}));\n//# sourceMappingURL=Transformer.js.map","export var Asymmetric;\n(function (Asymmetric) {\n function is(value) {\n return (value == \"RS256\" ||\n value == \"RS384\" ||\n value == \"RS512\" ||\n value == \"ES256\" ||\n value == \"ES384\" ||\n value == \"ES512\" ||\n value == \"PS256\" ||\n value == \"PS384\" ||\n value == \"PS512\");\n }\n Asymmetric.is = is;\n})(Asymmetric || (Asymmetric = {}));\n//# sourceMappingURL=Asymmetric.js.map","export var Symmetric;\n(function (Symmetric) {\n function is(value) {\n return value == \"HS256\" || value == \"HS384\" || value == \"HS512\";\n }\n Symmetric.is = is;\n})(Symmetric || (Symmetric = {}));\n//# sourceMappingURL=Symmetric.js.map","import { Asymmetric as NameAsymmetric } from \"./Asymmetric\";\nimport { Symmetric as NameSymmetric } from \"./Symmetric\";\nexport var Name;\n(function (Name) {\n function is(value) {\n return value == \"none\" || NameSymmetric.is(value) || NameAsymmetric.is(value);\n }\n Name.is = is;\n let Symmetric;\n (function (Symmetric) {\n Symmetric.is = NameSymmetric.is;\n })(Symmetric = Name.Symmetric || (Name.Symmetric = {}));\n let Asymmetric;\n (function (Asymmetric) {\n Asymmetric.is = NameAsymmetric.is;\n })(Asymmetric = Name.Asymmetric || (Name.Asymmetric = {}));\n})(Name || (Name = {}));\n//# sourceMappingURL=index.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Signer } from \"cryptly\";\nimport { Name as AlgorithmName } from \"./Name\";\nexport class Algorithm {\n constructor(name, signer) {\n this.name = name;\n this.signer = signer;\n }\n sign(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return typeof data == \"string\" ? this.signer.sign(data) : this.signer.sign(data);\n });\n }\n verify(data, signature) {\n return this.signer.verify(data, signature);\n }\n static create(name, ...keys) {\n let result;\n switch (name) {\n case \"ES256\":\n result = Signer.create(\"ECDSA\", \"SHA-256\", keys[0], keys[1]);\n break;\n case \"ES384\":\n result = Signer.create(\"ECDSA\", \"SHA-384\", keys[0], keys[1]);\n break;\n case \"ES512\":\n result = Signer.create(\"ECDSA\", \"SHA-512\", keys[0], keys[1]);\n break;\n case \"PS256\":\n result = Signer.create(\"RSA-PSS\", \"SHA-256\", keys[0], keys[1]);\n break;\n case \"PS384\":\n result = Signer.create(\"RSA-PSS\", \"SHA-384\", keys[0], keys[1]);\n break;\n case \"PS512\":\n result = Signer.create(\"RSA-PSS\", \"SHA-512\", keys[0], keys[1]);\n break;\n case \"HS256\":\n result = Signer.create(\"HMAC\", \"SHA-256\", keys[0]);\n break;\n case \"HS384\":\n result = Signer.create(\"HMAC\", \"SHA-384\", keys[0]);\n break;\n case \"HS512\":\n result = Signer.create(\"HMAC\", \"SHA-512\", keys[0]);\n break;\n case \"RS256\":\n result = Signer.create(\"RSA\", \"SHA-256\", keys[0], keys[1]);\n break;\n case \"RS384\":\n result = Signer.create(\"RSA\", \"SHA-384\", keys[0], keys[1]);\n break;\n case \"RS512\":\n result = Signer.create(\"RSA\", \"SHA-512\", keys[0], keys[1]);\n break;\n case \"none\":\n result = Signer.create(\"None\");\n break;\n }\n return result && new Algorithm(name, result);\n }\n static none() {\n return Algorithm.create(\"none\");\n }\n static HS256(key) {\n return Algorithm.create(\"HS256\", key);\n }\n static HS384(key) {\n return Algorithm.create(\"HS384\", key);\n }\n static HS512(key) {\n return Algorithm.create(\"HS512\", key);\n }\n static RS256(publicKey, privateKey) {\n return Algorithm.create(\"RS256\", publicKey, privateKey);\n }\n static RS384(publicKey, privateKey) {\n return Algorithm.create(\"RS384\", publicKey, privateKey);\n }\n static RS512(publicKey, privateKey) {\n return Algorithm.create(\"RS512\", publicKey, privateKey);\n }\n static ES256(publicKey, privateKey) {\n return Algorithm.create(\"ES256\", publicKey, privateKey);\n }\n static ES384(publicKey, privateKey) {\n return Algorithm.create(\"ES384\", publicKey, privateKey);\n }\n static ES512(publicKey, privateKey) {\n return Algorithm.create(\"ES512\", publicKey, privateKey);\n }\n static PS256(publicKey, privateKey) {\n return Algorithm.create(\"PS256\", publicKey, privateKey);\n }\n static PS384(publicKey, privateKey) {\n return Algorithm.create(\"PS384\", publicKey, privateKey);\n }\n static PS512(publicKey, privateKey) {\n return Algorithm.create(\"PS512\", publicKey, privateKey);\n }\n}\n(function (Algorithm) {\n let Name;\n (function (Name) {\n Name.is = AlgorithmName.is;\n let Symmetric;\n (function (Symmetric) {\n Symmetric.is = AlgorithmName.Symmetric.is;\n })(Symmetric = Name.Symmetric || (Name.Symmetric = {}));\n let Asymmetric;\n (function (Asymmetric) {\n Asymmetric.is = AlgorithmName.Asymmetric.is;\n })(Asymmetric = Name.Asymmetric || (Name.Asymmetric = {}));\n })(Name = Algorithm.Name || (Algorithm.Name = {}));\n})(Algorithm || (Algorithm = {}));\n//# sourceMappingURL=index.js.map","export var Token;\n(function (Token) {\n function is(value) {\n return typeof value == \"string\" && /^[A-Za-z0-9-_=]+\\.[A-Za-z0-9-_=]+\\.?[A-Za-z0-9-_.+/=]*$/.test(value);\n }\n Token.is = is;\n})(Token || (Token = {}));\n//# sourceMappingURL=Token.js.map","export class Type {\n get name() {\n return typeof this._name == \"function\" ? this._name() : this._name;\n }\n get condition() {\n return typeof this._condition == \"function\" ? this._condition() : this._condition;\n }\n optional() {\n return new IslyOptional(this);\n }\n readonly() {\n return new IslyReadonly(this);\n }\n array(...options) {\n return array(this, ...options);\n }\n constructor(_name, _condition) {\n this._name = _name;\n this._condition = _condition;\n /**\n * Return the value if the value is valid for the type, otherwise undefined.\n * For objects, unknown properties are filtered.\n *\n * Eg: isly.number().value(NaN) returns undefined\n */\n this.get = value => (this.is(value) ? this.getValue(value) : undefined);\n /**\n * Return a flaw object, describing the flaws of the value compared to expected type.\n *\n * If it is a correct value, according to the type, it returns a Flaw with the message `{message:\"This type is correct.\", isFlaw: false, ... }`\n *\n * Implemented as a closure.\n */\n this.flaw = value => {\n return this.is(value)\n ? {\n type: this.name,\n ...(this.condition ? { condition: this.condition } : undefined),\n isFlaw: false,\n message: \"This type is correct.\",\n }\n : {\n ...(this.condition ? { condition: this.condition } : undefined),\n ...this.createFlaw(value),\n type: this.name,\n };\n };\n }\n getValue(value) {\n return value;\n }\n /**\n * Override this to create custom Flaws.\n * Not necessary for simple types.\n */\n createFlaw(value) {\n return {};\n }\n /**\n * Used by types that use a backend type.\n */\n createFlawFromType(backend, value) {\n return \"createFlaw\" in backend && typeof backend.createFlaw == \"function\"\n ? backend.createFlaw(value)\n : backend.flaw(value);\n }\n}\nclass IslyOptional extends Type {\n constructor(backend) {\n super(() => backend.name + \" | undefined\", backend.condition);\n this.backend = backend;\n this.is = (value => value == undefined || this.backend.is(value));\n }\n createFlaw(value) {\n return this.createFlawFromType(this.backend, value);\n }\n}\nclass IslyReadonly extends Type {\n constructor(backend) {\n super(() => `Readonly<${backend.name}>`, backend.condition);\n this.backend = backend;\n this.is = (value => value == undefined || this.backend.is(value));\n }\n createFlaw(value) {\n return this.createFlawFromType(this.backend, value);\n }\n}\nexport function array(itemType, ...options) {\n return new IslyArray(itemType, options);\n}\nconst criteriaFunctions = {\n length: {\n is: (value, optionValue) => value.length == optionValue,\n condition: optionValue => `length == ${optionValue}`,\n },\n minLength: {\n is: (value, optionValue) => value.length >= optionValue,\n condition: optionValue => `minLength == ${optionValue}`,\n },\n maxLength: {\n is: (value, optionValue) => value.length <= optionValue,\n condition: optionValue => `maxLength == ${optionValue}`,\n },\n};\nexport class IslyArray extends Type {\n constructor(itemType, options) {\n super(() => this.baseName() + \"[]\", options.length > 0 ? options.map(c => criteriaFunctions[c.criteria].condition(c.value)).join(\" & \") : undefined);\n this.itemType = itemType;\n this.options = options;\n this.is = (value => globalThis.Array.isArray(value) &&\n this.options.every(option => criteriaFunctions[option.criteria].is(value, option.value)) &&\n value.every(item => this.itemType.is(item)));\n }\n baseName() {\n return this.itemType.name.includes(\" \") ? `(${this.itemType.name})` : this.itemType.name;\n }\n itemName(index) {\n return `${this.baseName()}[${index}]`;\n }\n createFlaw(value) {\n const flaws = (globalThis.Array.isArray(value) &&\n value.flatMap((item, index) => {\n const subFlaw = this.itemType.flaw(item);\n return subFlaw.isFlaw ?? true ? [{ ...subFlaw, type: this.itemName(index) }] : [];\n })) ||\n [];\n return {\n ...(flaws.length > 0 ? { flaws } : undefined),\n };\n }\n getValue(value) {\n return value.map(item => this.itemType.get(item));\n }\n}\n//# sourceMappingURL=Type.js.map","import { Type } from \"./Type\";\nclass IslyBoolean extends Type {\n constructor(booleanValue) {\n super(booleanValue == undefined ? \"boolean\" : booleanValue ? \"true\" : \"false\");\n this.booleanValue = booleanValue;\n this.is = (value => typeof value == \"boolean\" && (this.booleanValue == undefined || value == this.booleanValue));\n }\n}\nexport function boolean(booleanValue) {\n return new IslyBoolean(booleanValue);\n}\n//# sourceMappingURL=boolean.js.map","import { Type } from \"./Type\";\nclass IslyLazy extends Type {\n constructor(factory, name) {\n super(name ?? (() => (this.backend ??= factory()).name), () => (this.backend ??= factory()).condition);\n this.factory = factory;\n this.is = (value => (this.backend ??= this.factory()).is(value));\n this.get = value => this.backend.get(value);\n }\n createFlaw(value) {\n return this.createFlawFromType((this.backend ??= this.factory()), value);\n }\n}\n/**\n * Late evaluation of a type\n * Can be used for for recursive types.\n *\n * @param factory\n * @param name Provide a name, to avoid infinite loop if the type i recursive\n * @returns\n */\nexport function lazy(factory, name) {\n return new IslyLazy(factory, name);\n}\n//# sourceMappingURL=lazy.js.map","import { Type } from \"./Type\";\nclass IslyObject extends Type {\n constructor(baseType, properties, name) {\n super(() => name ??\n (this.baseType ? `${this.baseType.name} & ` : \"\") +\n `{${globalThis.Object.entries(this.properties)\n .map(([property, type]) => `${property}: ${type.name}`)\n .join(\", \")}}`);\n this.baseType = baseType;\n this.properties = properties;\n this.is = (value => !!(value &&\n (this.baseType == undefined || this.baseType.is(value)) &&\n typeof value == \"object\" &&\n !globalThis.Array.isArray(value) &&\n globalThis.Object.entries(this.properties).every(([property, type]) => type.is(value[property]))));\n }\n extend(properties, name) {\n return new IslyObject(this, properties, name);\n }\n omit(omits, name) {\n return new IslyObject(this.baseType?.omit(omits), globalThis.Object.fromEntries(globalThis.Object.entries(this.properties).filter(([key]) => !omits.includes(key))), name ?? `Omit<${this.name}, ${omits.map(key => `\"${String(key)}\"`).join(\" | \")}>`);\n }\n pick(picks, name) {\n return new IslyObject(this.baseType?.pick(picks), globalThis.Object.fromEntries(globalThis.Object.entries(this.properties).filter(([key]) => picks.includes(key))), name ?? `Pick<${this.name}, ${picks.map(key => `\"${String(key)}\"`).join(\" | \")}>`);\n }\n createFlaw(value) {\n return {\n flaws: [\n this.baseType ? this.baseType.flaw(value)?.flaws ?? [] : [],\n globalThis.Object.entries(this.properties)\n .map(([property, type]) => [property, type.flaw(value?.[property])])\n .map(([property, flaw]) => (flaw?.isFlaw ?? true) && { property, ...flaw })\n .filter(flaw => flaw),\n ]\n .flat()\n .filter(flaw => flaw?.isFlaw ?? true),\n };\n }\n /**\n * get-function on a object returns a object with only specified properties\n */\n getValue(value) {\n const result = this.baseType ? this.baseType.getValue(value) : {};\n if (result)\n for (const [key, type] of globalThis.Object.entries(this.properties))\n if (key in value)\n result[key] = type.get(value[key]);\n return result;\n }\n}\nexport function object(properties, name) {\n return new IslyObject(undefined, properties ?? {}, name);\n}\n//# sourceMappingURL=object.js.map","import { Type } from \"./Type\";\nclass IslyString extends Type {\n constructor(stringCondition) {\n super(typeof stringCondition == \"string\" ? `\"${stringCondition}\"` : \"string\", () => {\n const conditionObject = this.getConditionObject();\n return conditionObject instanceof RegExp\n ? `/${conditionObject.source}/${conditionObject.flags}`\n : globalThis.Object.keys(conditionObject)\n .map(key => `\"${key}\"`)\n .join(\" | \");\n });\n this.stringCondition = stringCondition;\n this.is = (value => {\n const conditionObject = this.getConditionObject();\n return (typeof value == \"string\" &&\n (conditionObject instanceof RegExp\n ? conditionObject.test(value)\n : typeof conditionObject == \"object\"\n ? value in conditionObject //TODO, avoid \"hasOwnProperty toString etc.\"\n : conditionObject));\n });\n }\n getConditionObject() {\n return (this.conditionObject ??= Array.isArray(this.stringCondition)\n ? this.stringCondition.reduce((result, current) => {\n result[current] = true;\n return result;\n }, globalThis.Object.create(null))\n : typeof this.stringCondition == \"string\"\n ? { [this.stringCondition]: true }\n : typeof this.stringCondition == \"object\" // Record or RegExp!\n ? this.stringCondition\n : true);\n }\n}\nexport function string(condition) {\n return new IslyString(condition);\n}\n//# sourceMappingURL=string.js.map","import { boolean } from \"./boolean\";\nimport { lazy } from \"./lazy\";\nimport { object } from \"./object\";\nimport { string } from \"./string\";\nimport { array } from \"./Type\";\nexport var Flaw;\n(function (Flaw) {\n Flaw.type = object({\n message: string().optional(),\n isFlaw: boolean().optional(),\n property: string().optional(),\n type: string(),\n flaws: array(lazy(() => Flaw.type)).optional(),\n condition: string().optional(),\n }, \"Flaw\");\n Flaw.is = Flaw.type.is;\n Flaw.flaw = Flaw.type.flaw;\n})(Flaw || (Flaw = {}));\n//# sourceMappingURL=Flaw.js.map","import { Type } from \"./Type\";\nclass IslyFromIs extends Type {\n constructor(name, isFunction) {\n super(name);\n this.isFunction = isFunction;\n this.is = (value => this.isFunction(value));\n }\n}\nexport function fromIs(name, is) {\n return new IslyFromIs(name, is);\n}\n//# sourceMappingURL=fromIs.js.map","import { Type } from \"./Type\";\nconst criteriaFunctions = {\n positive: {\n is: (value) => value > 0,\n condition: \"> 0\",\n },\n negative: {\n is: (value) => value < 0,\n condition: \"< 0\",\n },\n integer: {\n is: (value) => Number.isInteger(value),\n condition: \"Number.isInteger\",\n },\n};\nfunction fromCriteria(criteria) {\n return /* Eg: criteria == 42 */ typeof criteria == \"number\"\n ? [value => value == criteria, \" == \" + criteria.toString()]\n : // Eg: criteria == [0,1,2]\n ((c) => Array.isArray(c) && c.every(c => typeof c == \"number\"))(criteria)\n ? [value => criteria.map(fromCriteria).some(c => c[0](value)), criteria.join(\" | \")]\n : // Eg: criteria == [\"positive\", \"negative\"]\n ((c) => Array.isArray(c) && c.every(c => typeof c == \"string\" && c in criteriaFunctions))(criteria)\n ? [\n value => criteria.map(fromCriteria).every(c => c[0](value)),\n criteria\n .map(fromCriteria)\n .map(c => c[1])\n .join(\" & \"),\n ]\n : // Eg: criteria == () => true\n typeof criteria === \"function\"\n ? [criteria, \"custom\"]\n : // Eg: criteria == \"positive\"\n criteria in criteriaFunctions\n ? [criteriaFunctions[criteria].is, criteriaFunctions[criteria].condition]\n : // Eg: criteria is unknown\n [() => false, \"Unknown criteria\"];\n}\nclass IslyNumber extends Type {\n constructor(isFunction, condition) {\n super(\"number\", condition);\n this.isFunction = isFunction;\n this.is = (value => typeof value == \"number\" &&\n !Number.isNaN(value - value) && // NaN-NaN==NaN && Infinity-Infinity==NaN && (-Infinity)-(-Infinity)==NaN\n (!this.isFunction || this.isFunction(value)));\n }\n}\n/**\n * NaN, Infinite and -Infinite is not considered to be numbers by this type,\n * since that it is hardly ever desirable when validating input data.\n *\n * @param criteria\n * @returns\n */\nexport function number(criteria) {\n const [isFunction, condition] = criteria == undefined ? [undefined, undefined] : fromCriteria(criteria);\n return new IslyNumber(isFunction, condition);\n}\n//# sourceMappingURL=number.js.map","import { Type } from \"./Type\";\nclass IslyRecord extends Type {\n constructor(keyType, valueType) {\n super(() => `Record<${keyType.name}, ${valueType.name}>`);\n this.keyType = keyType;\n this.valueType = valueType;\n this.is = (value => !!(value &&\n typeof value == \"object\" &&\n !globalThis.Array.isArray(value) &&\n globalThis.Object.entries(value).every(([key, value]) => this.keyType.is(this.keyType.name == \"number\" && `${+key}` == key ? +key : key) && this.valueType.is(value))));\n }\n createFlaw(value) {\n return {\n flaws: value &&\n typeof value == \"object\" &&\n !globalThis.Array.isArray(value) &&\n globalThis.Object.entries(value).flatMap(([key, propertyValue]) => [\n this.keyType.flaw(this.keyType.name == \"number\" && `${+key}` == key ? +key : key),\n this.valueType.flaw(propertyValue),\n ]\n .map((flaw, index) => (flaw.isFlaw ?? true) && { property: key + ` (${[\"key\", \"value\"][index]})`, ...flaw })\n .filter(Boolean)),\n };\n }\n getValue(value) {\n return globalThis.Object.fromEntries(globalThis.Object.entries(value).map(([key, value]) => [key, this.valueType.get(value)]));\n }\n}\nexport function record(keyType, valueType) {\n return new IslyRecord(keyType, valueType);\n}\n//# sourceMappingURL=record.js.map","import { Type } from \"./Type\";\nclass IslyUnion extends Type {\n constructor(...types) {\n super(() => types.map(type => type.name).join(\" | \"));\n this.is = (value => this.types.some(type => type.is(value)));\n this.types = types;\n }\n createFlaw(value) {\n return {\n flaws: this.types.map(type => type.flaw(value)).filter(flaw => flaw),\n };\n }\n getValue(value) {\n return this.types.find(type => type.is(value))?.get(value);\n }\n}\nexport function union(...types) {\n return new IslyUnion(...types);\n}\n//# sourceMappingURL=union.js.map","import { Type } from \"./Type\";\nclass IslyUndefined extends Type {\n constructor() {\n super(...arguments);\n this.is = (value => value === undefined);\n }\n}\nexport function islyUndefined(name) {\n return new IslyUndefined(name ?? \"undefined\");\n}\n//# sourceMappingURL=undefined.js.map","import { isly } from \"isly\"\n\nexport type Color = typeof Color.types[number]\n\nexport namespace Color {\n\texport const types = [\n\t\t\"default\",\n\t\t\"primary\",\n\t\t\"secondary\",\n\t\t\"tertiary\",\n\t\t\"success\",\n\t\t\"warning\",\n\t\t\"danger\",\n\t\t\"light\",\n\t\t\"medium\",\n\t\t\"dark\",\n\t] as const\n\texport const type = isly.string(types)\n\texport const is = type.is\n}\n","type Name =\n\t| \"accessibility\"\n\t| \"add-circle\"\n\t| \"add\"\n\t| \"airplane\"\n\t| \"alarm\"\n\t| \"albums\"\n\t| \"alert-circle\"\n\t| \"alert\"\n\t| \"american-football\"\n\t| \"analytics\"\n\t| \"aperture\"\n\t| \"apps\"\n\t| \"archive\"\n\t| \"arrow-back-circle\"\n\t| \"arrow-back\"\n\t| \"arrow-down-circle\"\n\t| \"arrow-down\"\n\t| \"arrow-forward-circle\"\n\t| \"arrow-forward\"\n\t| \"arrow-redo-circle\"\n\t| \"arrow-redo\"\n\t| \"arrow-undo-circle\"\n\t| \"arrow-undo\"\n\t| \"arrow-up-circle\"\n\t| \"arrow-up\"\n\t| \"at-circle\"\n\t| \"at\"\n\t| \"attach\"\n\t| \"backspace\"\n\t| \"bag\"\n\t| \"bag-add\"\n\t| \"bag-check\"\n\t| \"bag-handle\"\n\t| \"balloon\"\n\t| \"ban\"\n\t| \"bandage\"\n\t| \"barbell\"\n\t| \"bar-chart\"\n\t| \"barcode\"\n\t| \"baseball\"\n\t| \"basketball\"\n\t| \"basket\"\n\t| \"battery-charging\"\n\t| \"battery-dead\"\n\t| \"battery-full\"\n\t| \"battery-half\"\n\t| \"beaker\"\n\t| \"bed\"\n\t| \"beer\"\n\t| \"bicycle\"\n\t| \"bluetooth\"\n\t| \"boat\"\n\t| \"body\"\n\t| \"bonfire\"\n\t| \"bowling-ball\"\n\t| \"bookmarks\"\n\t| \"bookmark\"\n\t| \"book\"\n\t| \"briefcase\"\n\t| \"browsers\"\n\t| \"brush\"\n\t| \"bug\"\n\t| \"build\"\n\t| \"bulb\"\n\t| \"business\"\n\t| \"bus\"\n\t| \"cafe\"\n\t| \"calculator\"\n\t| \"calendar\"\n\t| \"calendar-clear\"\n\t| \"calendar-number\"\n\t| \"call\"\n\t| \"camera-reverse\"\n\t| \"camera\"\n\t| \"card\"\n\t| \"caret-back-circle\"\n\t| \"caret-back\"\n\t| \"caret-down-circle\"\n\t| \"caret-down\"\n\t| \"caret-forward-circle\"\n\t| \"caret-forward\"\n\t| \"caret-up-circle\"\n\t| \"caret-up\"\n\t| \"car-sport\"\n\t| \"car\"\n\t| \"cart\"\n\t| \"cash\"\n\t| \"cellular\"\n\t| \"chatbox-ellipses\"\n\t| \"chatbox\"\n\t| \"chatbubble-ellipses\"\n\t| \"chatbubbles\"\n\t| \"chatbubble\"\n\t| \"checkbox\"\n\t| \"checkmark-circle\"\n\t| \"checkmark-done-circle\"\n\t| \"checkmark-done\"\n\t| \"checkmark\"\n\t| \"chevron-back-circle\"\n\t| \"chevron-back\"\n\t| \"chevron-down-circle\"\n\t| \"chevron-down\"\n\t| \"chevron-forward-circle\"\n\t| \"chevron-forward\"\n\t| \"chevron-up-circle\"\n\t| \"chevron-up\"\n\t| \"clipboard\"\n\t| \"close-circle\"\n\t| \"close\"\n\t| \"cloud-circle\"\n\t| \"cloud-done\"\n\t| \"cloud-download\"\n\t| \"cloud-offline\"\n\t| \"cloud\"\n\t| \"cloud-upload\"\n\t| \"cloudy-night\"\n\t| \"cloudy\"\n\t| \"code-download\"\n\t| \"code-slash\"\n\t| \"code\"\n\t| \"code-working\"\n\t| \"cog\"\n\t| \"color-fill\"\n\t| \"color-filter\"\n\t| \"color-palette\"\n\t| \"color-wand\"\n\t| \"compass\"\n\t| \"construct\"\n\t| \"contract\"\n\t| \"contrast\"\n\t| \"copy\"\n\t| \"create\"\n\t| \"crop\"\n\t| \"cube\"\n\t| \"cut\"\n\t| \"desktop\"\n\t| \"diamond\"\n\t| \"dice\"\n\t| \"disc\"\n\t| \"document-attach\"\n\t| \"document-lock\"\n\t| \"documents\"\n\t| \"document\"\n\t| \"document-text\"\n\t| \"download\"\n\t| \"duplicate\"\n\t| \"ear\"\n\t| \"earth\"\n\t| \"easel\"\n\t| \"egg\"\n\t| \"ellipse\"\n\t| \"ellipsis-horizontal-circle\"\n\t| \"ellipsis-horizontal\"\n\t| \"ellipsis-vertical-circle\"\n\t| \"ellipsis-vertical\"\n\t| \"enter\"\n\t| \"exit\"\n\t| \"expand\"\n\t| \"eyedrop\"\n\t| \"eye-off\"\n\t| \"eye\"\n\t| \"fast-food\"\n\t| \"female\"\n\t| \"file-tray-full\"\n\t| \"file-tray-stacked\"\n\t| \"file-tray\"\n\t| \"film\"\n\t| \"filter\"\n\t| \"filter-circle\"\n\t| \"finger-print\"\n\t| \"fish\"\n\t| \"fitness\"\n\t| \"flag\"\n\t| \"flame\"\n\t| \"flashlight\"\n\t| \"flash-off\"\n\t| \"flash\"\n\t| \"flask\"\n\t| \"flower\"\n\t| \"folder-open\"\n\t| \"folder\"\n\t| \"football\"\n\t| \"footsteps\"\n\t| \"funnel\"\n\t| \"game-controller\"\n\t| \"gift\"\n\t| \"git-branch\"\n\t| \"git-commit\"\n\t| \"git-compare\"\n\t| \"git-merge\"\n\t| \"git-network\"\n\t| \"git-pull-request\"\n\t| \"glasses\"\n\t| \"globe\"\n\t| \"golf\"\n\t| \"grid\"\n\t| \"hammer\"\n\t| \"hand-left\"\n\t| \"hand-right\"\n\t| \"happy\"\n\t| \"hardware-chip\"\n\t| \"headset\"\n\t| \"heart-circle\"\n\t| \"heart-dislike-circle\"\n\t| \"heart-dislike\"\n\t| \"heart-half\"\n\t| \"heart\"\n\t| \"help-buoy\"\n\t| \"help-circle\"\n\t| \"help\"\n\t| \"home\"\n\t| \"hourglass\"\n\t| \"ice-cream\"\n\t| \"id-card\"\n\t| \"images\"\n\t| \"image\"\n\t| \"infinite\"\n\t| \"information-circle\"\n\t| \"information\"\n\t| \"journal\"\n\t| \"invert-mode\"\n\t| \"keypad\"\n\t| \"key\"\n\t| \"language\"\n\t| \"laptop\"\n\t| \"layers\"\n\t| \"leaf\"\n\t| \"library\"\n\t| \"link\"\n\t| \"list-circle\"\n\t| \"list\"\n\t| \"locate\"\n\t| \"location\"\n\t| \"lock-closed\"\n\t| \"lock-open\"\n\t| \"log-in\"\n\t| \"logo-alipay\"\n\t| \"logo-amazon\"\n\t| \"logo-amplify\"\n\t| \"logo-android\"\n\t| \"logo-angular\"\n\t| \"logo-apple-appstore\"\n\t| \"logo-apple\"\n\t| \"logo-apple-ar\"\n\t| \"logo-behance\"\n\t| \"logo-bitbucket\"\n\t| \"logo-bitcoin\"\n\t| \"logo-buffer\"\n\t| \"logo-capacitor\"\n\t| \"logo-chrome\"\n\t| \"logo-closed-captioning\"\n\t| \"logo-codepen\"\n\t| \"logo-css3\"\n\t| \"logo-designernews\"\n\t| \"logo-deviantart\"\n\t| \"logo-discord\"\n\t| \"logo-docker\"\n\t| \"logo-dribbble\"\n\t| \"logo-dropbox\"\n\t| \"logo-edge\"\n\t| \"logo-electron\"\n\t| \"logo-euro\"\n\t| \"logo-facebook\"\n\t| \"logo-firebase\"\n\t| \"logo-firefox\"\n\t| \"logo-flickr\"\n\t| \"logo-foursquare\"\n\t| \"logo-github\"\n\t| \"logo-gitlab\"\n\t| \"logo-google-playstore\"\n\t| \"logo-google\"\n\t| \"logo-hackernews\"\n\t| \"logo-html5\"\n\t| \"logo-instagram\"\n\t| \"logo-ionic\"\n\t| \"logo-ionitron\"\n\t| \"logo-javascript\"\n\t| \"logo-laravel\"\n\t| \"logo-linkedin\"\n\t| \"logo-markdown\"\n\t| \"logo-mastodon\"\n\t| \"logo-medium\"\n\t| \"logo-microsoft\"\n\t| \"logo-nodejs\"\n\t| \"logo-no-smoking\"\n\t| \"logo-npm\"\n\t| \"logo-octocat\"\n\t| \"logo-paypal\"\n\t| \"logo-pinterest\"\n\t| \"logo-playstation\"\n\t| \"logo-pwa\"\n\t| \"logo-python\"\n\t| \"logo-react\"\n\t| \"logo-reddit\"\n\t| \"logo-rss\"\n\t| \"logo-sass\"\n\t| \"logo-skype\"\n\t| \"logo-slack\"\n\t| \"logo-snapchat\"\n\t| \"logo-soundcloud\"\n\t| \"logo-stackoverflow\"\n\t| \"logo-steam\"\n\t| \"logo-stencil\"\n\t| \"logo-tableau\"\n\t| \"logo-tiktok\"\n\t| \"logo-tumblr\"\n\t| \"logo-tux\"\n\t| \"logo-twitch\"\n\t| \"logo-twitter\"\n\t| \"logo-usd\"\n\t| \"log-out\"\n\t| \"logo-web-component\"\n\t| \"logo-venmo\"\n\t| \"logo-whatsapp\"\n\t| \"logo-vercel\"\n\t| \"logo-vimeo\"\n\t| \"logo-windows\"\n\t| \"logo-vk\"\n\t| \"logo-wordpress\"\n\t| \"logo-vue\"\n\t| \"logo-xbox\"\n\t| \"logo-xing\"\n\t| \"logo-yahoo\"\n\t| \"logo-yen\"\n\t| \"logo-youtube\"\n\t| \"magnet\"\n\t| \"mail-open\"\n\t| \"mail\"\n\t| \"mail-unread\"\n\t| \"male-female\"\n\t| \"male\"\n\t| \"man\"\n\t| \"map\"\n\t| \"medal\"\n\t| \"medical\"\n\t| \"medkit\"\n\t| \"megaphone\"\n\t| \"menu\"\n\t| \"mic-circle\"\n\t| \"mic-off-circle\"\n\t| \"mic-off\"\n\t| \"mic\"\n\t| \"moon\"\n\t| \"move\"\n\t| \"musical-notes\"\n\t| \"musical-note\"\n\t| \"navigate-circle\"\n\t| \"navigate\"\n\t| \"newspaper\"\n\t| \"notifications-circle\"\n\t| \"notifications-off-circle\"\n\t| \"notifications-off\"\n\t| \"notifications\"\n\t| \"nuclear\"\n\t| \"nutrition\"\n\t| \"open\"\n\t| \"options\"\n\t| \"paper-plane\"\n\t| \"partly-sunny\"\n\t| \"pause-circle\"\n\t| \"pause\"\n\t| \"paw\"\n\t| \"pencil\"\n\t| \"people-circle\"\n\t| \"people\"\n\t| \"person-add\"\n\t| \"person-circle\"\n\t| \"person-remove\"\n\t| \"person\"\n\t| \"phone-landscape\"\n\t| \"phone-portrait\"\n\t| \"pie-chart\"\n\t| \"pin\"\n\t| \"pint\"\n\t| \"pizza\"\n\t| \"planet\"\n\t| \"play-back-circle\"\n\t| \"play-back\"\n\t| \"play-circle\"\n\t| \"play-forward-circle\"\n\t| \"play-forward\"\n\t| \"play-skip-back-circle\"\n\t| \"play-skip-back\"\n\t| \"play-skip-forward-circle\"\n\t| \"play-skip-forward\"\n\t| \"play\"\n\t| \"podium\"\n\t| \"power\"\n\t| \"pricetags\"\n\t| \"prism\"\n\t| \"pricetag\"\n\t| \"print\"\n\t| \"pulse\"\n\t| \"push\"\n\t| \"qr-code\"\n\t| \"radio-button-off\"\n\t| \"radio-button-on\"\n\t| \"radio\"\n\t| \"rainy\"\n\t| \"reader\"\n\t| \"receipt\"\n\t| \"recording\"\n\t| \"refresh-circle\"\n\t| \"refresh\"\n\t| \"reload-circle\"\n\t| \"reload\"\n\t| \"remove-circle\"\n\t| \"remove\"\n\t| \"reorder-four\"\n\t| \"reorder-three\"\n\t| \"reorder-two\"\n\t| \"repeat\"\n\t| \"resize\"\n\t| \"restaurant\"\n\t| \"return-down-back\"\n\t| \"return-down-forward\"\n\t| \"return-up-back\"\n\t| \"return-up-forward\"\n\t| \"ribbon\"\n\t| \"rocket\"\n\t| \"rose\"\n\t| \"sad\"\n\t| \"save\"\n\t| \"scan-circle\"\n\t| \"scale\"\n\t| \"scan\"\n\t| \"school\"\n\t| \"search-circle\"\n\t| \"search\"\n\t| \"send\"\n\t| \"server\"\n\t| \"settings\"\n\t| \"shapes\"\n\t| \"share-social\"\n\t| \"share\"\n\t| \"shield-checkmark\"\n\t| \"shield-half\"\n\t| \"shield\"\n\t| \"shirt\"\n\t| \"shuffle\"\n\t| \"skull\"\n\t| \"snow\"\n\t| \"sparkles\"\n\t| \"speedometer\"\n\t| \"square\"\n\t| \"star-half\"\n\t| \"star\"\n\t| \"stats-chart\"\n\t| \"stop-circle\"\n\t| \"stop\"\n\t| \"stopwatch\"\n\t| \"storefront\"\n\t| \"subway\"\n\t| \"sunny\"\n\t| \"swap-horizontal\"\n\t| \"swap-vertical\"\n\t| \"sync-circle\"\n\t| \"sync\"\n\t| \"tablet-landscape\"\n\t| \"tablet-portrait\"\n\t| \"telescope\"\n\t| \"tennisball\"\n\t| \"terminal\"\n\t| \"text\"\n\t| \"thermometer\"\n\t| \"thumbs-down\"\n\t| \"thumbs-up\"\n\t| \"thunderstorm\"\n\t| \"ticket\"\n\t| \"timer\"\n\t| \"time\"\n\t| \"today\"\n\t| \"toggle\"\n\t| \"trail-sign\"\n\t| \"train\"\n\t| \"transgender\"\n\t| \"trash-bin\"\n\t| \"trash\"\n\t| \"trending-down\"\n\t| \"trending-up\"\n\t| \"triangle\"\n\t| \"trophy\"\n\t| \"tv\"\n\t| \"umbrella\"\n\t| \"unlink\"\n\t| \"videocam-off\"\n\t| \"walk\"\n\t| \"wallet\"\n\t| \"warning\"\n\t| \"watch\"\n\t| \"water\"\n\t| \"videocam\"\n\t| \"wifi\"\n\t| \"wine\"\n\t| \"volume-high\"\n\t| \"volume-low\"\n\t| \"volume-medium\"\n\t| \"volume-mute\"\n\t| \"volume-off\"\n\t| \"woman\"\n\ntype Variants = \"outline\" | \"sharp\"\nexport type Icon = Name | `${Name}-${Variants}`\n\nexport namespace Icon {\n\tconst names: Record<string, string | undefined> & { \"*\": string } = {\n\t\t\"*\": \"https://ionicons.pages.dev/svg/${name}.svg\",\n\t}\n\tconst cache: { [url: string]: Promise<string | undefined> | undefined } = {}\n\tasync function fetch(url: string): Promise<string | undefined> {\n\t\tconst response = await globalThis.fetch(url)\n\t\treturn response.ok ? response.text() : undefined\n\t}\n\texport async function load(name: string): Promise<string | undefined> {\n\t\tconst url = (names[name] ?? names[\"*\"]).replace(\"${name}\", name)\n\t\treturn cache[url] ?? (cache[url] = fetch(url))\n\t}\n\texport function add(url: string, ...name: string[]): void {\n\t\tfor (const n of name)\n\t\t\tnames[n] = url\n\t}\n}\n","export interface Message<T> {\n\tdestination: string\n\tcontent: T\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Message<T> {\n\tstatic is(value: Message<any> | any): value is Message<any> {\n\t\treturn typeof value == \"object\" && typeof value.destination == \"string\" && value.content != undefined\n\t}\n\tstatic send(message: Message<any>, context?: Window): void\n\tstatic send(destination: string, content: any, context?: Window): void\n\tstatic send(message: string | Message<any>, content?: any | Window, context?: Window): void {\n\t\tif (Message.is(message) && context == undefined) {\n\t\t\tcontext = content as Window\n\t\t\tif (!context)\n\t\t\t\tcontext = window\n\t\t\tconst destination = message.destination.split(\"#\", 2)\n\t\t\tmessage = { destination: destination[1], content: message.content }\n\t\t\tcontext.postMessage(message, destination[0])\n\t\t} else if (typeof context != \"string\") {\n\t\t\tif (!context)\n\t\t\t\tcontext = window\n\t\t\tif (typeof message == \"string\")\n\t\t\t\tMessage.send({ destination: message, content }, context)\n\t\t}\n\t}\n\tstatic listen(origin: string, handle: (destination: string, content: any) => void, context?: Window): void {\n\t\tconst splitted = origin.split(\"#\", 2)\n\t\tlet destination = \"\"\n\t\tif (splitted.length == 2) {\n\t\t\torigin = splitted[0]\n\t\t\tdestination = splitted[1]\n\t\t}\n\t\t;(context || window).addEventListener(\"message\", (e: MessageEvent) => {\n\t\t\tconst message = e.data\n\t\t\tif (\n\t\t\t\tMessage.is(message) &&\n\t\t\t\t(origin == \"*\" || e.origin == origin) &&\n\t\t\t\t(destination == \"\" || message.destination == destination)\n\t\t\t)\n\t\t\t\thandle(message.destination, message.content)\n\t\t})\n\t}\n}\n","export interface Trigger {\n\tname: string\n\tvalue?: any\n}\nexport class Trigger {\n\tstatic is(value: Trigger | any): value is Trigger {\n\t\treturn typeof value == \"object\" && typeof value.name == \"string\"\n\t}\n}\n","export type WithListenable<T extends Record<string, any>> = T & Listenable<T>\n\nexport type CanBeListenable = Record<string, any>\n\nexport interface HasListenable<T extends CanBeListenable> {\n\treadonly listenable: WithListenable<T>\n}\n\nexport class Listenable<T extends CanBeListenable> {\n\t#listeners: Listeners<ListenableProperties<T>> = {}\n\tlisten<K extends keyof ListenableProperties<T>>(\n\t\tthis: T & Listenable<T>,\n\t\tproperty: K,\n\t\tlistener: Listener<T[K]>,\n\t\toptions?: { lazy?: boolean }\n\t): void {\n\t\tthis.#listeners[property]?.push(listener) ?? (this.#listeners[property] = [listener])\n\t\tif (!options?.lazy)\n\t\t\tlistener(this[property])\n\t}\n\tunlisten<K extends keyof ListenableProperties<T>>(property: K, listener: Listener<T[K]>): void {\n\t\tconst index = this.#listeners[property]?.indexOf(listener)\n\t\tindex != undefined && index >= 0 && this.#listeners[property]?.splice(index, 1)\n\t}\n\tbatchListen(this: T & Listenable<T>, listeners: ListenerBatch<T>, options?: { lazy?: boolean }) {\n\t\tfor (const key in listeners) {\n\t\t\tconst listener = listeners[key]\n\t\t\tlistener && this.listen(key, listener, options)\n\t\t}\n\t}\n\tbatchUnlisten(listeners: ListenerBatch<T>) {\n\t\tfor (const key in listeners) {\n\t\t\tconst listener = listeners[key]\n\t\t\tlistener && this.unlisten(key, listener)\n\t\t}\n\t}\n\n\tstatic load<T extends HasListenable<CanBeListenable>>(backend: T): WithListenable<T> {\n\t\tconst result = backend.listenable\n\n\t\treturn Object.defineProperties(result, getProperties(backend)) as WithListenable<T>\n\n\t\tfunction getProperties(backend: any) {\n\t\t\treturn Object.fromEntries(\n\t\t\t\t(\n\t\t\t\t\tObject.entries({\n\t\t\t\t\t\t...Object.getOwnPropertyDescriptors(backend),\n\t\t\t\t\t\t...Object.getOwnPropertyDescriptors(Object.getPrototypeOf(backend)),\n\t\t\t\t\t}) as [keyof T, PropertyDescriptor][]\n\t\t\t\t).map(([name, descriptor]) => [\n\t\t\t\t\tname,\n\t\t\t\t\ttypeof descriptor.value == \"function\"\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\t\t\treturn backend[name].bind(backend)\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: descriptor.writable || descriptor.set\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\t\t\treturn backend[name]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tset(value: any) {\n\t\t\t\t\t\t\t\t\tbackend[name] = value\n\t\t\t\t\t\t\t\t\tresult.#listeners[name]?.forEach(listener => listener(backend[name]))\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\t\t\treturn backend[name]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t },\n\t\t\t\t])\n\t\t\t)\n\t\t}\n\t}\n}\ntype ListenableProperties<T> = {\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\t[P in keyof T as T[P] extends Function ? never : P]: T[P]\n}\n\nexport type Listener<V> = (value: V) => void\nexport type Listeners<T> = {\n\t[K in keyof T]?: Listener<T[K]>[]\n}\n\nexport type ListenerBatch<T> = { [K in keyof ListenableProperties<T>]?: Listener<T[K]> }\n","import { isly } from \"isly\"\n\ntype Value = string | number | boolean | Blob | undefined\nexport type Data = { [name: string]: Data | Value }\n\nexport namespace Data {\n\texport const valueType = isly.union<Value, string, number, boolean, Blob, undefined>(\n\t\tisly.string(),\n\t\tisly.number(),\n\t\tisly.boolean(),\n\t\tisly.fromIs(\"Blob\", value => value instanceof Blob),\n\t\tisly.undefined()\n\t)\n\texport const type: isly.Type<Data> = isly.record<Data>(\n\t\tisly.string(),\n\t\tisly.union(\n\t\t\tisly.lazy(() => type, \"Data\"),\n\t\t\tvalueType\n\t\t)\n\t)\n\n\texport function set(data: Data, [head, ...tail]: string[], value: Value): Data {\n\t\tconst current = data[head ?? \"\"]\n\t\treturn {\n\t\t\t...data,\n\t\t\t[head ?? \"\"]: !tail.length\n\t\t\t\t? value\n\t\t\t\t: set(typeof current == \"object\" && !(current instanceof Blob) ? current : {}, tail, value),\n\t\t}\n\t}\n\texport function deepen(data: Record<string, Value>): Data {\n\t\treturn merge({}, data)\n\t}\n\texport function merge(data: Data, changes: Record<string, any>): Data {\n\t\treturn Object.entries(changes).reduce((r, [name, value]) => set(r, name.split(\".\"), value), data)\n\t}\n}\n"],"version":3}
|