@storm-stack/core
Version:
A build toolkit and runtime used by Storm Software in TypeScript applications
136 lines (133 loc) • 5.67 kB
JavaScript
'use strict';
var chunk3ONWID2V_cjs = require('./chunk-3ONWID2V.cjs');
var getUnique = require('@stryke/helpers/get-unique');
var stormJson = require('@stryke/json/storm-json');
var isNull = require('@stryke/type-checks/is-null');
var isString = require('@stryke/type-checks/is-string');
var isUndefined = require('@stryke/type-checks/is-undefined');
function stringifyDefaultValue(property, value) {
return stringifyValue(property.type, value ?? property.getDefaultValue());
}
chunk3ONWID2V_cjs.__name(stringifyDefaultValue, "stringifyDefaultValue");
function stringifyStringValue(value) {
return `"${String(value).replaceAll('"', '\\"')}"`;
}
chunk3ONWID2V_cjs.__name(stringifyStringValue, "stringifyStringValue");
function stringifyValue(type, value) {
return isUndefined.isUndefined(value) ? "undefined" : isNull.isNull(value) ? "null" : type.kind === (void 0).boolean ? Boolean(String(value).trim().toLowerCase()) === true ? "true" : "false" : type.kind === (void 0).string || type.kind === (void 0).literal && isString.isString(type.literal) ? stringifyStringValue(value) : type.kind === (void 0).enum ? getEnumType(type).kind === (void 0).string ? stringifyStringValue(value) : `${String(value)}` : type.kind === (void 0).union ? isStringUnion(type) ? stringifyStringValue(value) : `${String(value)}` : type.kind === (void 0).array ? stringifyStringValue(stormJson.StormJSON.stringify(value)) : type.kind === (void 0).object || type.kind === (void 0).objectLiteral ? stormJson.StormJSON.stringify(value) : type.kind === (void 0).property || type.kind === (void 0).parameter ? stringifyValue(type.type, value) : String(value);
}
chunk3ONWID2V_cjs.__name(stringifyValue, "stringifyValue");
function getEnumType(type) {
if (type.kind !== (void 0).enum) {
throw new Error(`Expected a TypeEnum, but received ${type.kind}.`);
}
const unique = getUnique.getUniqueBy(type.values.filter((value) => value !== void 0 && value !== null), (enumMember) => isString.isString(enumMember) ? {
kind: (void 0).string
} : {
kind: (void 0).number
});
if (unique.length === 0) {
throw new Error(`No valid enum members could be found.`);
}
return unique[0] && isString.isString(unique[0]) ? {
kind: (void 0).string
} : {
kind: (void 0).number
};
}
chunk3ONWID2V_cjs.__name(getEnumType, "getEnumType");
function getUnionTypes(type) {
if (type.kind === (void 0).union && type.types.length > 0) {
return getUnique.getUniqueBy(type.types, (member) => member.kind);
}
throw new Error(`Expected a TypeUnion, but received ${type.kind}.`);
}
chunk3ONWID2V_cjs.__name(getUnionTypes, "getUnionTypes");
function isStringUnion(type) {
return getUnionTypes(type).some((member) => member.kind === (void 0).string || member.kind === (void 0).literal && isString.isString(member.literal));
}
chunk3ONWID2V_cjs.__name(isStringUnion, "isStringUnion");
function kindToName(kind) {
if (kind === (void 0).void) {
return "void";
} else if (kind === (void 0).never) {
return "never";
} else if (kind === (void 0).null) {
return "null";
} else if (kind === (void 0).undefined) {
return "undefined";
} else if (kind === (void 0).symbol) {
return "symbol";
} else if (kind === (void 0).bigint) {
return "bigint";
} else if (kind === (void 0).number) {
return "number";
} else if (kind === (void 0).string) {
return "string";
} else if (kind === (void 0).boolean) {
return "boolean";
} else if (kind === (void 0).literal) {
return "literal";
} else if (kind === (void 0).class) {
return "class";
} else if (kind === (void 0).array) {
return "array";
} else if (kind === (void 0).object) {
return "object";
} else if (kind === (void 0).objectLiteral) {
return "objectLiteral";
} else if (kind === (void 0).union) {
return "union";
} else if (kind === (void 0).enum) {
return "enum";
} else if (kind === (void 0).regexp) {
return "regexp";
} else if (kind === (void 0).templateLiteral) {
return "templateLiteral";
} else if (kind === (void 0).property) {
return "property";
} else if (kind === (void 0).method) {
return "method";
} else if (kind === (void 0).function) {
return "function";
} else if (kind === (void 0).parameter) {
return "parameter";
} else if (kind === (void 0).promise) {
return "promise";
} else if (kind === (void 0).typeParameter) {
return "typeParameter";
} else if (kind === (void 0).tuple) {
return "tuple";
} else if (kind === (void 0).tupleMember) {
return "tupleMember";
} else if (kind === (void 0).enumMember) {
return "enumMember";
} else if (kind === (void 0).rest) {
return "rest";
} else if (kind === (void 0).indexSignature) {
return "indexSignature";
} else if (kind === (void 0).propertySignature) {
return "propertySignature";
} else if (kind === (void 0).methodSignature) {
return "methodSignature";
} else if (kind === (void 0).infer) {
return "infer";
} else if (kind === (void 0).callSignature) {
return "callSignature";
} else if (kind === (void 0).any) {
return "any";
} else if (kind === (void 0).intersection) {
return "intersection";
}
return "unknown";
}
chunk3ONWID2V_cjs.__name(kindToName, "kindToName");
exports.getEnumType = getEnumType;
exports.getUnionTypes = getUnionTypes;
exports.isStringUnion = isStringUnion;
exports.kindToName = kindToName;
exports.stringifyDefaultValue = stringifyDefaultValue;
exports.stringifyStringValue = stringifyStringValue;
exports.stringifyValue = stringifyValue;
//# sourceMappingURL=chunk-Z52BGQCG.cjs.map
//# sourceMappingURL=chunk-Z52BGQCG.cjs.map