UNPKG

@storm-stack/core

Version:

A build toolkit and runtime used by Storm Software in TypeScript applications

128 lines (126 loc) 5.26 kB
import { __name } from './chunk-43IZMM3W.js'; import { getUniqueBy } from '@stryke/helpers/get-unique'; import { StormJSON } from '@stryke/json/storm-json'; import { isNull } from '@stryke/type-checks/is-null'; import { isString } from '@stryke/type-checks/is-string'; import { isUndefined } from '@stryke/type-checks/is-undefined'; function stringifyDefaultValue(property, value) { return stringifyValue(property.type, value ?? property.getDefaultValue()); } __name(stringifyDefaultValue, "stringifyDefaultValue"); function stringifyStringValue(value) { return `"${String(value).replaceAll('"', '\\"')}"`; } __name(stringifyStringValue, "stringifyStringValue"); function stringifyValue(type, value) { return isUndefined(value) ? "undefined" : 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(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.stringify(value)) : type.kind === (void 0).object || type.kind === (void 0).objectLiteral ? StormJSON.stringify(value) : type.kind === (void 0).property || type.kind === (void 0).parameter ? stringifyValue(type.type, value) : String(value); } __name(stringifyValue, "stringifyValue"); function getEnumType(type) { if (type.kind !== (void 0).enum) { throw new Error(`Expected a TypeEnum, but received ${type.kind}.`); } const unique = getUniqueBy(type.values.filter((value) => value !== void 0 && value !== null), (enumMember) => 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(unique[0]) ? { kind: (void 0).string } : { kind: (void 0).number }; } __name(getEnumType, "getEnumType"); function getUnionTypes(type) { if (type.kind === (void 0).union && type.types.length > 0) { return getUniqueBy(type.types, (member) => member.kind); } throw new Error(`Expected a TypeUnion, but received ${type.kind}.`); } __name(getUnionTypes, "getUnionTypes"); function isStringUnion(type) { return getUnionTypes(type).some((member) => member.kind === (void 0).string || member.kind === (void 0).literal && isString(member.literal)); } __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"; } __name(kindToName, "kindToName"); export { getEnumType, getUnionTypes, isStringUnion, kindToName, stringifyDefaultValue, stringifyStringValue, stringifyValue }; //# sourceMappingURL=chunk-JYZMY7IS.js.map //# sourceMappingURL=chunk-JYZMY7IS.js.map