@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
1 lines • 2.95 kB
Source Map (JSON)
{"version":3,"file":"W3cV2LocalizedValue.mjs","names":[],"sources":["../../../../../src/modules/vc/models/credential/W3cV2LocalizedValue.ts"],"sourcesContent":["import {\n Expose,\n instanceToPlain,\n plainToClassFromExist,\n plainToInstance,\n Transform,\n TransformationType,\n} from 'class-transformer'\nimport { IsEnum, IsOptional, IsString, isString } from 'class-validator'\n\nexport interface W3cV2LocalizedValueOptions {\n value: string\n language?: string | null\n direction?: 'ltr' | 'rtl' | null\n [property: string]: unknown\n}\n\n/**\n * Represents a localized string.\n *\n * @see https://www.w3.org/TR/vc-data-model-2.0/#internationalization-considerations\n */\nexport class W3cV2LocalizedValue {\n public constructor(options: W3cV2LocalizedValueOptions) {\n if (options) {\n const { value, language, direction, ...rest } = options\n\n plainToClassFromExist(this, rest)\n\n this.value = value\n this.language = language\n this.direction = direction\n }\n }\n\n @Expose({ name: '@value' })\n @IsString()\n public value!: string\n\n @Expose({ name: '@language' })\n @IsOptional()\n @IsString()\n public language?: string | null\n\n @Expose({ name: '@direction' })\n @IsOptional()\n @IsEnum(['ltr', 'rtl', null])\n public direction?: 'ltr' | 'rtl' | null;\n\n [property: string]: unknown\n}\n\nexport function W3cV2LocalizedValueTransformer() {\n return Transform(({ value, type }: { value: string | W3cV2LocalizedValueOptions; type: TransformationType }) => {\n if (type === TransformationType.PLAIN_TO_CLASS) {\n if (isString(value)) {\n return value\n }\n\n if (Array.isArray(value)) {\n return value.map((v) => plainToInstance(W3cV2LocalizedValue, v))\n }\n\n return plainToInstance(W3cV2LocalizedValue, value)\n }\n\n if (type === TransformationType.CLASS_TO_PLAIN) {\n if (isString(value)) {\n return value\n }\n\n if (Array.isArray(value)) {\n return value.map((v) => instanceToPlain(W3cV2LocalizedValue, v))\n }\n\n return instanceToPlain(value)\n }\n\n // PLAIN_TO_PLAIN\n return value\n })\n}\n"],"mappings":";;;;;;;;;;;;;AAsBA,IAAa,sBAAb,MAAiC;CAC/B,AAAO,YAAY,SAAqC;AACtD,MAAI,SAAS;GACX,MAAM,EAAE,OAAO,UAAU,WAAW,GAAG,SAAS;AAEhD,yBAAsB,MAAM,KAAK;AAEjC,QAAK,QAAQ;AACb,QAAK,WAAW;AAChB,QAAK,YAAY;;;;;CAIpB,OAAO,EAAE,MAAM,UAAU,CAAC;CAC1B,UAAU;;;;CAGV,OAAO,EAAE,MAAM,aAAa,CAAC;CAC7B,YAAY;CACZ,UAAU;;;;CAGV,OAAO,EAAE,MAAM,cAAc,CAAC;CAC9B,YAAY;CACZ,OAAO;EAAC;EAAO;EAAO;EAAK,CAAC;;;AAM/B,SAAgB,iCAAiC;AAC/C,QAAO,WAAW,EAAE,OAAO,WAAqF;AAC9G,MAAI,SAAS,mBAAmB,gBAAgB;AAC9C,OAAI,SAAS,MAAM,CACjB,QAAO;AAGT,OAAI,MAAM,QAAQ,MAAM,CACtB,QAAO,MAAM,KAAK,MAAM,gBAAgB,qBAAqB,EAAE,CAAC;AAGlE,UAAO,gBAAgB,qBAAqB,MAAM;;AAGpD,MAAI,SAAS,mBAAmB,gBAAgB;AAC9C,OAAI,SAAS,MAAM,CACjB,QAAO;AAGT,OAAI,MAAM,QAAQ,MAAM,CACtB,QAAO,MAAM,KAAK,MAAM,gBAAgB,qBAAqB,EAAE,CAAC;AAGlE,UAAO,gBAAgB,MAAM;;AAI/B,SAAO;GACP"}