@zyno-io/ts-reflection 26.1029.3 → 26.1029.508
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/index.cjs +1 -1
- package/dist/index.js +13 -30
- package/dist/type-compiler/prebuilt.cjs +11 -5
- package/dist/type-metadata-runtime.js +1 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=function(e){return e[e.never=0]=`never`,e[e.any=1]=`any`,e[e.unknown=2]=`unknown`,e[e.void=3]=`void`,e[e.undefined=4]=`undefined`,e[e.null=5]=`null`,e[e.string=6]=`string`,e[e.number=7]=`number`,e[e.boolean=8]=`boolean`,e[e.bigint=9]=`bigint`,e[e.literal=10]=`literal`,e[e.enum=11]=`enum`,e[e.union=12]=`union`,e[e.intersection=13]=`intersection`,e[e.array=14]=`array`,e[e.tuple=15]=`tuple`,e[e.class=16]=`class`,e[e.object=17]=`object`,e[e.objectLiteral=18]=`objectLiteral`,e[e.property=19]=`property`,e[e.propertySignature=20]=`propertySignature`,e[e.method=21]=`method`,e[e.promise=22]=`promise`,e[e.templateLiteral=23]=`templateLiteral`,e}({});function t(e){return!!e&&typeof e==`object`&&typeof e.kind==`number`}var n=class extends Error{code;path;errors;constructor(e,t,n=``){super(t),this.code=e,this.path=n,this.errors=[this]}};Object.defineProperty(n,"name",{configurable:!0,value:`ValidatorError`});var r=class{decorators=[];addDecorator(e,t){this.decorators.push({predicate:e,handler:t})}apply(e,t){let n=t;for(let t of this.decorators){if(!t.predicate(e))continue;let r=new i;t.handler(e,r),n=r.apply(n)}return n}},i=class{transforms=[];addTransform(e){this.transforms.push(e)}apply(e){return this.transforms.reduce((e,t)=>t(e),e)}},a=new r;function o(e){if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;if(typeof e==`bigint`)return e!==0n;if(typeof e==`string`){if(e===`true`||e===`1`)return!0;if(e===`false`||e===`0`)return!1}return e}function s(t){if(t.kind===e.union){let n=t.types.filter(t=>t.kind!==e.undefined&&t.kind!==e.null);return n.length===1?s(n[0]):t}if(t.kind===e.intersection){let e=c(t);if(e)return e;let n=t.types.find(e=>!p(e));return n?s(n):t}return t}function c(t){if(t.kind!==e.intersection||!l(t))return;let n=u(t);if(n.length!==0)return{kind:e.objectLiteral,typeName:t.typeName,types:n}}function l(t){return t.kind===e.intersection&&t.types.every(t=>p(t)?!0:t.kind===e.intersection?l(t):t.kind===e.objectLiteral)}function u(t){let n=[],r=new Map,i=t=>{let i=String(t.name);r.has(i)||n.push(i),r.set(i,{kind:e.propertySignature,name:t.name,type:t.type,optional:t.optional})},a=t=>{if(!p(t)){if(t.kind===e.intersection){for(let e of t.types)a(e);return}if(t.kind===e.objectLiteral){for(let e of d(t))i(e);return}}};return a(t),n.map(e=>r.get(e))}function d(t,n=new Set){if(n.has(t)||p(t))return[];n.add(t);let r=[];for(let i of t.implements??[]){let t=s(i);n.has(t)||(t.kind===e.objectLiteral?r.push(...d(t,n)):t.kind===e.intersection?r.push(...u(t)):t.kind===e.class&&r.push(...C(t)))}return w([...r,...t.types.map(T)])}function f(t,n=new Set){if(t.index)return t.index;if(!n.has(t)){n.add(t);for(let r of t.implements??[]){let t=s(r);if(t.kind===e.objectLiteral){let e=f(t,n);if(e)return e}}}}function p(e){return!!(e.annotations||e.validation||e.database||ee(e)||ne(e))}function ee(t){return te(t.typeName)?t.kind===e.unknown||t.kind===e.class&&!g(t.classType):!1}function te(e){switch(e){case`ApiName`:case`AutoIncrement`:case`DatabaseField`:case`GreaterThan`:case`HasDefault`:case`Index`:case`Length`:case`LessThan`:case`Maximum`:case`MaxLength`:case`Minimum`:case`MinLength`:case`MySQL`:case`OnUpdate`:case`Pattern`:case`PrimaryKey`:case`Reference`:case`TypeAnnotation`:case`Unique`:return!0;default:return!1}}function ne(t){return t.kind===e.objectLiteral&&t.types.length>0&&t.types.every(t=>t.kind===e.propertySignature&&String(t.name)===`typia.tag`)}function m(t){return t.kind===e.any||t.kind===e.undefined||t.kind===e.union&&t.types.some(m)}function h(t){return t.kind===e.any||t.kind===e.null||t.kind===e.union&&t.types.some(h)}function re(e){let t=g(e);if(!t)throw Error(`Target is not a constructor`);return t}function g(e){if(v(e))return e;try{let t=e();return v(t)?t:void 0}catch{return}}function _(t,n=new Set){if(!t||typeof t!=`object`||n.has(t))return;n.add(t);let r=t;if(r.kind===e.class&&typeof r.classType==`function`&&!v(r.classType))try{let e=r.classType();v(e)&&(r.classType=e)}catch{}for(let e of Object.values(r))if(typeof e!=`function`){if(Array.isArray(e))for(let t of e)_(t,n);else _(e,n)}ie(r),ce(r)}function ie(n){if(n.kind!==e.intersection||!Array.isArray(n.types))return;let r=n.types.filter(t);if(r.length!==n.types.length)return;let i=r.filter(t=>t.kind===e.union);if(i.length===0||i.length===1&&r.every(e=>e===i[0]||p(e)))return;let a=[[]];for(let e of r){let t=ae(e);a=a.flatMap(e=>t.map(t=>[...e,...t]))}n.kind=e.union,n.types=a.map(se)}function ae(t){if(t.kind!==e.union)return[[t]];let n=oe(t);return t.types.flatMap(e=>ae(e).map(e=>n?[...e,n]:e))}function oe(t){if(t.annotations||t.validation||t.database)return{kind:e.unknown,annotations:t.annotations,validation:t.validation,database:t.database}}function se(t){return t.some(t=>t.kind===e.never)?{kind:e.never}:t.length===1?t[0]:{kind:e.intersection,types:t}}function v(e){return!!(typeof e==`function`&&e.prototype&&e.prototype.constructor===e)}function ce(n){let r=de(n);if(!r)return;let i=Array.isArray(n.typeArguments)?n.typeArguments:[];if(r===`Record`){if(n.kind!==e.objectLiteral||(n.types??[]).length>0)return;let r=i[0],a=i[1];if(!t(r)||!t(a))return;let o=le(r,a);o.length>0?(n.types=o,delete n.index):n.index=a;return}if((n.types??[]).length>0)return;let a=i[0];if(!t(a))return;if(r===`Extract`){let r=i[1];if(n.kind!==e.union||!t(r))return;n.types=y(a).filter(e=>b(e,r));return}if(n.kind!==e.objectLiteral)return;let o=C(a),s=a.kind===e.objectLiteral?f(a):void 0;if(o.length===0){s&&(n.index=s);return}let c=new Set((Array.isArray(n.utilityKeys)?n.utilityKeys:[]).filter(e=>typeof e==`string`)),l=o.map(T);r===`Pick`?l=l.filter(e=>c.has(String(e.name))):r===`Omit`?l=l.filter(e=>!c.has(String(e.name))):r===`Partial`?l=l.map(e=>({...e,optional:!0})):r===`Required`?l=l.map(e=>({...e,optional:void 0})):r===`OptionalNulls`&&(l=l.map(e=>h(e.type)?{...e,optional:!0}:e)),n.types=l,s&&(n.index=s)}function le(t,n){return ue(t).map(t=>({kind:e.propertySignature,name:t,type:n,optional:void 0}))}function ue(t){let n=[];for(let r of y(t)){if(r.kind!==e.literal||typeof r.literal!=`string`&&typeof r.literal!=`number`)return[];n.push(r.literal)}return n}function y(t){return t.kind===e.union?t.types.flatMap(y):[t]}function b(t,n){let r=s(t),i=s(n);if(i.kind===e.union)return i.types.some(e=>b(r,e));if(r.kind===e.union)return r.types.every(e=>b(e,i));if(i.kind===e.objectLiteral){let t=d(i).filter(e=>!e.optional&&!m(e.type));if(t.length===0)return r.kind===e.objectLiteral||r.kind===e.class;let n=C(r);return n.length!==0&&t.every(e=>{let t=n.find(t=>String(t.name)===String(e.name));return t?x(t.type,e.type):!1})}return x(r,i)}function x(t,n){let r=s(t),i=s(n);return r.kind===e.any||r.kind===e.unknown||i.kind===e.any||i.kind===e.unknown?!0:r.kind===e.union?r.types.some(e=>x(e,i)):i.kind===e.union?i.types.some(e=>x(r,e)):r.kind===e.literal&&i.kind===e.literal?r.literal===i.literal:r.kind===e.literal?S(r.literal,i):i.kind===e.literal?S(i.literal,r):r.kind===i.kind}function S(t,n){return t===null?n.kind===e.null:t===void 0?n.kind===e.undefined:typeof t==`string`?n.kind===e.string||n.kind===e.templateLiteral:typeof t==`number`?n.kind===e.number:typeof t==`boolean`?n.kind===e.boolean:typeof t==`bigint`&&n.kind===e.bigint}function C(t){if(t.kind===e.class){let n=g(t.classType);if(!n)return[];try{return G.from(n).getProperties().map(t=>({kind:e.propertySignature,name:t.name,type:t.getType(),optional:t.isOptional()?!0:void 0,description:t.getDescription()||void 0}))}catch(e){if(e instanceof Error&&e.message.startsWith(`No runtime type metadata for `))return[];throw e}}return t.kind===e.objectLiteral?d(t):t.kind===e.intersection?w(t.types.flatMap(C)):[]}function w(e){let t=[],n=new Map;for(let r of e){let e=String(r.name);n.has(e)||t.push(e),n.set(e,T(r))}return t.map(e=>n.get(e))}function T(t){return{kind:e.propertySignature,name:t.name,type:t.type,optional:t.optional?!0:void 0,description:t.description}}function E(e){return e===`Pick`||e===`Omit`||e===`Partial`||e===`Required`||e===`Extract`||e===`Record`||e===`OptionalNulls`}function de(e){if(E(e.utilityType))return e.utilityType;if(E(e.typeName))return e.typeName}function D(t,n){if(n(t),(t.kind===e.union||t.kind===e.intersection)&&`types`in t)for(let e of t.types)D(e,n);else if((t.kind===e.array||t.kind===e.promise)&&`type`in t)D(t.type,n);else if(t.kind===e.objectLiteral&&`types`in t){for(let e of t.types)D(e.type,n);t.index&&D(t.index,n)}}function O(t,n){if(n(t),(t.kind===e.union||t.kind===e.intersection)&&`types`in t)for(let e of t.types)O(e,n)}function fe(e,t){let n;return D(e,r=>{n===void 0&&r!==e&&(n=t(r))}),n}function k(e,t){let n;return O(e,r=>{n===void 0&&r!==e&&(n=t(r))}),n}function pe(e,t){let n=!1;return D(e,e=>{n||=t(e)}),n}function A(t){return t?.kind===e.literal&&typeof t.literal==`number`?t.literal:void 0}function j(t){if(!t)return;let n=t.runtime;if(n!==void 0)return typeof n==`function`?n():n;if(t.kind===e.literal)return t.literal}function M(e,t){return e?`${e}.${t}`:t}function me(t){let n=N.getType(t,`tsf:type`);return n?.kind===e.literal&&(n.literal===`uuid`||n.literal===`uuidString`)}function he(t){let n=N.getType(t,`tsf:type`);return n?.kind===e.literal&&n.literal===`uuid`}var N={getType(e,t){return e.annotations?.[t]||(k(e,e=>e.annotations?.[t])??ve(e,t))},getOption(e,t){return this.getType(e,t)}},ge={getAnnotations(e){let t=[],n=new Set;return O(e,e=>{if(e.validation)for(let r of e.validation){let e=Ee(r);n.has(e)||(n.add(e),t.push(r))}let r=be(e);if(r){let e=Ee(r);n.has(e)||(n.add(e),t.push(r))}}),t}},P={getDatabase(t,n){let r=t.database?.[n]??(n===`*`?void 0:t.database?.[`*`]);if(r)return r;if(t.kind===e.union){let r=t.types.filter(t=>t.kind!==e.null&&t.kind!==e.undefined);return r.length===1?this.getDatabase(r[0],n):void 0}let i=k(t,e=>e.database?.[n]??(n===`*`?void 0:e.database?.[`*`]));if(i)return i;let a=xe(t,n);if(a)return a}},F={kind:e.undefined};function _e(t){return{kind:e.literal,literal:t}}function I(e,...t){return{name:e,args:t}}function ve(e,t){return we(e,e=>ye(e,t))}function ye(e,t){let n=L(e);if(n&&n.kind===t&&(n.kind.startsWith(`tsf:`)||n.kind.startsWith(`openapi:`)))return n.value??F}function be(e){let t=L(e);if(t)switch(t.kind){case`minLength`:case`maxLength`:case`minimum`:case`greaterThan`:case`maximum`:case`lessThan`:return t.value?I(t.kind,t.value):void 0;case`pattern`:return I(`pattern`,t.value??R(t.schema,`pattern`)??F);case`format`:{let e=B(t.value)??B(R(t.schema,`format`)),n=e?Te(e):void 0;return n?I(`pattern`,_e(n)):void 0}case`tsf:validator`:return I(`validator`,t.value??F);default:return}}function xe(e,t){return we(e,e=>Se(e,t))}function Se(e,t){let n=L(e);if(!n)return;let r=V(n.schema)??V(n.value);if(r&&(n.kind===`database:field`||n.kind===`database:mysql`&&t===`mysql`))return r}function L(t){if(t.kind!==e.objectLiteral)return;let n=t.types.find(e=>String(e.name)===`typia.tag`);if(!n)return;let r=z(n.type);if(r.kind!==e.objectLiteral)return;let i=B(R(r,`kind`));if(i)return{kind:i,value:R(r,`value`),schema:R(r,`schema`)}}function R(t,n){let r=t?z(t):void 0;if(r&&r.kind===e.objectLiteral)return r.types.find(e=>String(e.name)===n)?.type}function z(t){if(t.kind!==e.union)return t;let n=t.types.filter(t=>t.kind!==e.undefined&&t.kind!==e.null);return n.length===1?n[0]:t}function B(t){return t?.kind===e.literal&&typeof t.literal==`string`?t.literal:void 0}function V(t){let n=t?z(t):void 0;if(!n||n.kind!==e.objectLiteral)return;let r={};for(let e of n.types){let t=Ce(e.type);t!==void 0&&(r[String(e.name)]=t)}return r}function Ce(t){let n=z(t);if(n.kind===e.literal)return n.literal;if(n.kind!==e.undefined&&n.kind===e.objectLiteral)return V(n)}function we(e,t){let n;return O(e,e=>{n===void 0&&(n=t(e))}),n}function Te(e){switch(e){case`date`:return`^\\d{4}-\\d{2}-\\d{2}$`;case`email`:return`^[a-zA-Z0-9_+.-]+@[a-zA-Z0-9-.]+\\.[a-zA-Z]+$`;case`uuid`:return`^(?:urn:uuid:)?[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$`;default:return}}function Ee(e){return`${e.name}:${e.args.map(De).join(`|`)}`}function De(t){if(t.kind===e.literal&&`literal`in t)return`literal:${String(t.literal)}`;let n=t.runtime;return n?`runtime:${String(n)}`:`${t.kind}:${t.typeName??``}`}function Oe(t){let n=N.getType(t,`tsf:type`);if(n?.kind===e.literal){if(n.literal===`integer`)return e.number;if(typeof n.literal==`string`)return e.string}}var H=new WeakMap,U=new WeakMap;function W(e,t){t&&(t.collectionName&&(e.collectionName=t.collectionName),t.indexes?.length&&(e.indexes=[...t.indexes]),t.excludeMigration&&(e.excludeMigration=!0))}function ke(e){if(!e)throw Error(`typeOf<T>() was not transformed by the metadata compiler`);return _(e),e}function Ae(e,t){t.classType=e,W(t,U.get(e)),H.set(e,t)}var G=class t{classType;name;indexes;metadata;constructor(e,t){this.classType=e,this.metadata=t,this.name=t.name||e.name;let n=t.properties.flatMap(e=>{let t=[];return e.index&&t.push({names:[e.name],options:e.index}),e.unique&&t.push({names:[e.name],options:{...e.unique,unique:!0}}),t});this.indexes=[...t.indexes??[],...n]}static from(e){let n=J(e);if(!n)throw Error(`No runtime type metadata for ${e.name}. Did the tsf metadata compiler run?`);return new t(e,n)}getClassType(){return this.classType}getCollectionName(){return this.metadata.collectionName??U.get(this.classType)?.collectionName}isDatabaseMigrationSkipped(e){return this.metadata.excludeMigration===!0||U.get(this.classType)?.excludeMigration===!0}getProperties(){return Y(this.classType,this.metadata).map(e=>new K(e))}getProperty(e){let t=Y(this.classType,this.metadata).find(t=>t.name===e);if(!t)throw Error(`Property ${String(e)} does not exist on ${this.name}`);return new K(t)}getPrimary(){let e=Y(this.classType,this.metadata).find(e=>e.primaryKey);if(!e)throw Error(`Class ${this.name} has no primary key`);return new K(e)}getMethod(e){let t=Me(this.classType,this.metadata).find(t=>t.name===e||String(t.name)===String(e));if(!t)throw Error(`Method ${String(e)} does not exist on ${this.name}`);return new q(t)}getConstructorOrUndefined(){let t=Ne(this.classType,this.metadata);if(t.length)return new q({name:`constructor`,parameters:t,returnType:{kind:e.void}})}},K=class{metadata;type;name;constructor(e){this.metadata=e,this.type=e.type,this.name=e.name}getNameAsString(){return String(this.name)}getType(){return this.type}getDescription(){return this.metadata.description??``}isPublic(){return!0}isPrimaryKey(){return this.metadata.primaryKey===!0}isAutoIncrement(){return this.metadata.autoIncrement===!0}isOptional(){return this.metadata.optional===!0||m(this.type)}isNullable(){return h(this.type)}getDatabase(e=`*`){return P.getDatabase(this.type,e)||P.getDatabase(this.type,`*`)}isBackReference(){return!1}isDatabaseSkipped(e){return!1}isDatabaseMigrationSkipped(e){return!1}isReference(){return this.metadata.reference!==void 0}getReference(){return this.metadata.reference}getResolvedReflectionClass(){let t=s(this.type);if(t.kind!==e.class)throw Error(`Property ${String(this.name)} is not a class reference`);return G.from(re(t.classType))}},q=class{metadata;constructor(e){this.metadata=e}getDescription(){return this.metadata.description??``}getParameters(){return this.metadata.parameters.map(e=>new je(e))}getReturnType(){return this.metadata.returnType}},je=class{metadata;constructor(e){this.metadata=e}getName(){return this.metadata.name}getType(){return this.metadata.type}isOptional(){return this.metadata.optional===!0||m(this.metadata.type)}hasDefault(){return this.metadata.default===!0}};function J(t){let n=H.get(t);if(n)return _(n),n;let r=Object.prototype.hasOwnProperty.call(t,`__tsfType`)?t.__tsfType:void 0;if(!r){if(!X(t))return;let n={kind:e.class,classType:t,name:t.name,typeName:t.name,properties:[],methods:[],constructorParameters:[],hasConstructor:!0};return W(n,U.get(t)),H.set(t,n),n}return W(r,U.get(t)),_(r),H.set(t,r),r}function Y(e,t){let n=X(e),r=n?Y(n.classType,n.metadata):[],i=new Set(t.properties.map(e=>e.name));return[...r.filter(e=>!i.has(e.name)),...t.properties]}function Me(e,t){let n=X(e),r=n?Me(n.classType,n.metadata):[],i=new Set(t.methods.map(e=>e.name));return[...r.filter(e=>!i.has(e.name)),...t.methods]}function Ne(e,t){if(t.constructorParameters.length||t.hasConstructor)return t.constructorParameters;let n=X(e);return n?Ne(n.classType,n.metadata):[]}function X(e){let t=(e.prototype?Object.getPrototypeOf(e.prototype):void 0)?.constructor;if(!t||t===Object||t===e)return;let n=J(t);return n?{classType:t,metadata:n}:void 0}var Pe=new Map,Z={register(e,t){Pe.set(e,t)},get(e){return Pe.get(e)}};function Fe(e,t){let n=He(e,t);return n?Q(e,n):[]}function Ie(e,t){if(!t)throw Error(`deserialize<T>() was not transformed by the metadata compiler`);return _(t),$(e,t)}function Le(e,t,n,r,i){if(!i)throw Error(`validatedDeserialize<T>() requires reflected type metadata`);_(i);let a=$(e,i),o=Q(a,i);if(o.length)throw o[0];return a}function Re(e,t,n){if(!n)throw Error(`assert<T>() requires explicit reflected type metadata`);_(n);let r=Q(e,n);if(r.length)throw r[0]}function ze(e,t,n){if(!n)throw Error(`is<T>() requires explicit reflected type metadata`);return _(n),Q(e,n).length===0}function Be(e,t,n,r,i){if(!i)throw Error(`cast<T>() requires explicit reflected type metadata`);return _(i),$(e,i)}function Ve(e){if(t(e))return e;throw Error(`Unsupported receive type payload`)}function He(e,n){if(t(n))return _(n),n;if(typeof n==`function`)return J(n);if(e&&typeof e==`object`)return J(e.constructor)}function Q(t,r,i=``){let a=[],o=s(r),c=Oe(o);if(t===void 0)return m(r)||a.push(new n(`required`,`The value is required.`,i)),a;if(t===null)return h(r)||a.push(new n(`required`,`The value cannot be null.`,i)),a;if(c===e.string)typeof t!=`string`&&a.push(new n(`type`,`The value must be a string.`,i));else if(c===e.number)(typeof t!=`number`||Number.isNaN(t))&&a.push(new n(`type`,`The value must be a number.`,i));else if(c===e.boolean)typeof t!=`boolean`&&a.push(new n(`type`,`The value must be a boolean.`,i));else if(o.kind===e.undefined||o.kind===e.null||o.kind===e.never)a.push(new n(`type`,`The value does not match the required type.`,i));else if(o.kind===e.string||o.kind===e.templateLiteral)typeof t!=`string`&&a.push(new n(`type`,`The value must be a string.`,i));else if(o.kind===e.number)(typeof t!=`number`||Number.isNaN(t))&&a.push(new n(`type`,`The value must be a number.`,i));else if(o.kind===e.boolean)typeof t!=`boolean`&&a.push(new n(`type`,`The value must be a boolean.`,i));else if(o.kind===e.array)Array.isArray(t)?t.forEach((e,t)=>{a.push(...Q(e,o.type,M(i,String(t))))}):a.push(new n(`type`,`The value must be an array.`,i));else if(o.kind===e.tuple)Array.isArray(t)?o.types.forEach((e,n)=>{a.push(...Q(t[n],e.type,M(i,String(n))))}):a.push(new n(`type`,`The value must be an array.`,i));else if(o.kind===e.union){let e=o.types.map(e=>Q(t,e,i));if(!e.some(e=>e.length===0)){let t=e.filter(e=>e.length>0).sort((e,t)=>e.length-t.length)[0];t?.length?a.push(...t):a.push(new n(`type`,`The value does not match any allowed type.`,i))}}else if(o.kind===e.objectLiteral){if(!t||typeof t!=`object`||Array.isArray(t))return a.push(new n(`type`,`The value must be an object.`,i)),a;let e=t,r=new Set;for(let t of d(o)){r.add(String(t.name));let n=M(i,String(t.name));e[t.name]===void 0&&t.optional||a.push(...Q(e[t.name],t.type,n))}let s=f(o);if(s)for(let[t,n]of Object.entries(e))r.has(t)||a.push(...Q(n,s,M(i,t)))}else if(o.kind===e.literal)t!==o.literal&&a.push(new n(`type`,`The value must be ${String(o.literal)}.`,i));else if(o.kind===e.enum)o.values.includes(t)||a.push(new n(`type`,`The value does not match any allowed enum value.`,i));else if(o.kind===e.class){let e=g(o.classType);if(!e)return(!t||typeof t!=`object`||Array.isArray(t))&&a.push(new n(`type`,`The value must be an object.`,i)),a;if(e!==Date){let n=G.from(e),r=t;for(let e of n.getProperties())r[String(e.name)]===void 0&&e.isOptional()||a.push(...Q(r[String(e.name)],e.getType(),M(i,String(e.name))))}}for(let e of ge.getAnnotations(r))if(e.name===`minLength`&&typeof t==`string`){let r=A(e.args[0]);r!==void 0&&t.length<r&&a.push(new n(`minLength`,`The value must be at least ${r} characters.`,i))}else if(e.name===`maxLength`&&typeof t==`string`){let r=A(e.args[0]);r!==void 0&&t.length>r&&a.push(new n(`maxLength`,`The value must be at most ${r} characters.`,i))}else if(e.name===`minimum`&&typeof t==`number`){let r=A(e.args[0]);r!==void 0&&t<r&&a.push(new n(`minimum`,`The value must be at least ${r}.`,i))}else if(e.name===`greaterThan`&&typeof t==`number`){let r=A(e.args[0]);r!==void 0&&t<=r&&a.push(new n(`greaterThan`,`The value must be greater than ${r}.`,i))}else if(e.name===`maximum`&&typeof t==`number`){let r=A(e.args[0]);r!==void 0&&t>r&&a.push(new n(`maximum`,`The value must be at most ${r}.`,i))}else if(e.name===`lessThan`&&typeof t==`number`){let r=A(e.args[0]);r!==void 0&&t>=r&&a.push(new n(`lessThan`,`The value must be less than ${r}.`,i))}else if(e.name===`pattern`&&typeof t==`string`){let r=j(e.args[0]),o=typeof r==`string`?new RegExp(r):r instanceof RegExp?r:void 0;o&&!o.test(t)&&a.push(new n(`pattern`,`The value does not match the required pattern.`,i))}else if(e.name===`validate`){let r=j(e.args[0]);if(typeof r==`function`){let e=r(t);e instanceof n&&a.push(new n(e.code,e.message,i))}}else if(e.name===`validator`){let r=j(e.args[0]),o=typeof r==`string`?Z.get(r):void 0;if(o){let e=o(t);e instanceof n&&a.push(new n(e.code,e.message,i))}}return a}function $(t,n){if(t==null)return t;if(n.kind===e.intersection){let e=c(n);if(e&&t&&typeof t==`object`&&!Array.isArray(t)&&!(t instanceof Date))return a.apply(n,$(t,e));let r=t;if(t&&typeof t==`object`&&!Array.isArray(t)&&!(t instanceof Date)){let e={},i=!1;for(let r of n.types){let n=$(t,r);n&&typeof n==`object`&&!Array.isArray(n)&&!(n instanceof Date)&&(Object.assign(e,n),i=!0)}r=i?e:t}else for(let e of n.types)r=$(r,e);return a.apply(n,r)}let r=s(n),i=t;if(r.kind===e.number&&typeof t==`string`&&t.trim()!==``)i=Number(t);else if(r.kind===e.boolean)i=o(t);else if(r.kind===e.enum&&typeof t==`string`){let e=Number(t);!Number.isNaN(e)&&r.values.includes(e)&&(i=e)}else if(r.kind===e.array&&Array.isArray(t))i=t.map(e=>$(e,r.type));else if(r.kind===e.tuple&&Array.isArray(t))i=r.types.map((e,n)=>$(t[n],e.type));else if(r.kind===e.union)for(let e of r.types){let n=$(t,e);if(Q(n,e).length===0){i=n;break}}else if(r.kind===e.class){let e=g(r.classType);if(!e)return a.apply(n,t);if(e===Date)return a.apply(n,t instanceof Date?t:new Date(t));if(typeof t!=`object`)return a.apply(n,t);let o=new e,s=t;for(let t of G.from(e).getProperties())o[String(t.name)]=$(s[String(t.name)],t.getType());i=o}else if(r.kind===e.objectLiteral&&typeof t==`object`){let e=d(r),o=f(r);if(e.length===0&&!o)return a.apply(n,t);let s=t,c={},l=new Set;for(let t of e){let e=String(t.name);l.add(e),c[e]=$(s[e],t.type)}if(o)for(let[e,t]of Object.entries(s))l.has(e)||(c[e]=$(t,o));i=c}return a.apply(n,i)}var Ue=class{x;y};Ae(Ue,{kind:e.class,classType:Ue,name:`Coordinate`,typeName:`Coordinate`,properties:[{name:`x`,type:{kind:e.number}},{name:`y`,type:{kind:e.number}}],methods:[],constructorParameters:[],hasConstructor:!1});function We(e){if(!(e instanceof Date)||Number.isNaN(e.getTime()))return new n(`invalidDate`,`The date is invalid.`)}Z.register(`validDate`,We);function Ge(e,...t){for(let n of t){let t=N.getType(e,n);if(t)return t}}a.addDecorator(e=>Ge(e,`tsf:trim`)!==void 0,(e,t)=>{t.addTransform(e=>typeof e==`string`?e.trim():e)});var Ke=/^[a-z0-9_+.-]+@[a-z0-9-.]+\.[a-z]+$/i;function qe(e){return typeof e==`function`?e.name||`anonymous class`:e&&typeof e==`object`?e.constructor?.name||`anonymous class`:String(e)}exports.Coordinate=Ue,exports.DeserializerRegistry=r,exports.DeserializerState=i,exports.EMAIL_REGEX=Ke,exports.ReflectionClass=G,exports.ReflectionKind=e,exports.ReflectionMethod=q,exports.ReflectionParameter=je,exports.ReflectionProperty=K,exports.ValidationError=n,exports.ValidatorError=n,exports.allowsNull=h,exports.allowsUndefined=m,exports.applyMetadataOptions=W,exports.assert=Re,exports.cast=Be,exports.classMetadata=H,exports.classOptions=U,exports.cloneUtilityProperty=T,exports.coerceBooleanValue=o,exports.databaseAnnotation=P,exports.deserialize=Ie,exports.deserializer=a,exports.expandUtilityTypeMetadata=ce,exports.findNested=fe,exports.findNestedSurface=k,exports.flattenRuntimeUnionTypes=y,exports.getClassName=qe,exports.getFirstTypeAnnotation=Ge,exports.getUtilityTypeName=de,exports.hasNestedType=pe,exports.is=ze,exports.isClass=v,exports.isDatabaseUUIDType=he,exports.isExtractAssignable=b,exports.isMarkerType=p,exports.isReflectedType=t,exports.isUUIDType=me,exports.isUtilityTypeName=E,exports.joinPath=M,exports.knownPrimitiveKind=Oe,exports.literalMatchesType=S,exports.literalNumber=A,exports.mergeStructuredProperties=u,exports.mergeUtilityProperties=w,exports.mergedIntersectionObjectLiteral=c,exports.normalizeTypeMetadata=_,exports.objectLiteralIndexType=f,exports.objectLiteralPropertiesFromType=d,exports.readClassMetadata=J,exports.recordLiteralKeysFromType=ue,exports.recordPropertiesFromKeyType=le,exports.registerClassMetadata=Ae,exports.resolveClassType=re,exports.resolveReceiveType=Ve,exports.resolveRuntimeValue=j,exports.tryResolveClassType=g,exports.typeAnnotation=N,exports.typeOf=ke,exports.typesOverlap=x,exports.unwrapValueType=s,exports.utilitySourcePropertiesFromType=C,exports.validate=Fe,exports.validatedDeserialize=Le,exports.validationAnnotation=ge,exports.validationRegistry=Z,exports.visitType=D,exports.visitTypeSurface=O;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=function(e){return e[e.never=0]=`never`,e[e.any=1]=`any`,e[e.unknown=2]=`unknown`,e[e.void=3]=`void`,e[e.undefined=4]=`undefined`,e[e.null=5]=`null`,e[e.string=6]=`string`,e[e.number=7]=`number`,e[e.boolean=8]=`boolean`,e[e.bigint=9]=`bigint`,e[e.literal=10]=`literal`,e[e.enum=11]=`enum`,e[e.union=12]=`union`,e[e.intersection=13]=`intersection`,e[e.array=14]=`array`,e[e.tuple=15]=`tuple`,e[e.class=16]=`class`,e[e.object=17]=`object`,e[e.objectLiteral=18]=`objectLiteral`,e[e.property=19]=`property`,e[e.propertySignature=20]=`propertySignature`,e[e.method=21]=`method`,e[e.promise=22]=`promise`,e[e.templateLiteral=23]=`templateLiteral`,e}({});function t(e){return!!e&&typeof e==`object`&&typeof e.kind==`number`}var n=class extends Error{code;path;errors;constructor(e,t,n=``){super(t),this.code=e,this.path=n,this.errors=[this]}};Object.defineProperty(n,"name",{configurable:!0,value:`ValidatorError`});var r=class{decorators=[];addDecorator(e,t){this.decorators.push({predicate:e,handler:t})}apply(e,t){let n=t;for(let t of this.decorators){if(!t.predicate(e))continue;let r=new i;t.handler(e,r),n=r.apply(n)}return n}},i=class{transforms=[];addTransform(e){this.transforms.push(e)}apply(e){return this.transforms.reduce((e,t)=>t(e),e)}},a=new r;function o(e){if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;if(typeof e==`bigint`)return e!==0n;if(typeof e==`string`){if(e===`true`||e===`1`)return!0;if(e===`false`||e===`0`)return!1}return e}function s(t){if(t.kind===e.union){let n=t.types.filter(t=>t.kind!==e.undefined&&t.kind!==e.null);return n.length===1?s(n[0]):t}if(t.kind===e.intersection){let e=c(t);if(e)return e;let n=t.types.find(e=>!p(e));return n?s(n):t}return t}function c(t){if(t.kind!==e.intersection||!l(t))return;let n=u(t);if(n.length!==0)return{kind:e.objectLiteral,typeName:t.typeName,types:n}}function l(t){return t.kind===e.intersection&&t.types.every(t=>p(t)?!0:t.kind===e.intersection?l(t):t.kind===e.objectLiteral)}function u(t){let n=[],r=new Map,i=t=>{let i=String(t.name);r.has(i)||n.push(i),r.set(i,{kind:e.propertySignature,name:t.name,type:t.type,optional:t.optional})},a=t=>{if(!p(t)){if(t.kind===e.intersection)for(let e of t.types)a(e);else if(t.kind===e.objectLiteral)for(let e of d(t))i(e)}};return a(t),n.map(e=>r.get(e))}function d(t,n=new Set){if(n.has(t)||p(t))return[];n.add(t);let r=[];for(let i of t.implements??[]){let t=s(i);n.has(t)||(t.kind===e.objectLiteral?r.push(...d(t,n)):t.kind===e.intersection?r.push(...u(t)):t.kind===e.class&&r.push(...C(t)))}return w([...r,...t.types.map(T)])}function f(t,n=new Set){if(t.index)return t.index;if(!n.has(t)){n.add(t);for(let r of t.implements??[]){let t=s(r);if(t.kind===e.objectLiteral){let e=f(t,n);if(e)return e}}}}function p(e){return!!(e.annotations||e.validation||e.database||ee(e)||ne(e))}function ee(t){return te(t.typeName)?t.kind===e.unknown||t.kind===e.class&&!g(t.classType):!1}function te(e){switch(e){case`ApiName`:case`AutoIncrement`:case`DatabaseField`:case`GreaterThan`:case`HasDefault`:case`Index`:case`Length`:case`LessThan`:case`Maximum`:case`MaxLength`:case`Minimum`:case`MinLength`:case`MySQL`:case`OnUpdate`:case`Pattern`:case`PrimaryKey`:case`Reference`:case`TypeAnnotation`:case`Unique`:return!0;default:return!1}}function ne(t){return t.kind===e.objectLiteral&&t.types.length>0&&t.types.every(t=>t.kind===e.propertySignature&&String(t.name)===`typia.tag`)}function m(t){return t.kind===e.any||t.kind===e.undefined||t.kind===e.union&&t.types.some(m)}function h(t){return t.kind===e.any||t.kind===e.null||t.kind===e.union&&t.types.some(h)}function re(e){let t=g(e);if(!t)throw Error(`Target is not a constructor`);return t}function g(e){if(v(e))return e;try{let t=e();return v(t)?t:void 0}catch{return}}function _(t,n=new Set){if(!t||typeof t!=`object`||n.has(t))return;n.add(t);let r=t;if(r.kind===e.class&&typeof r.classType==`function`&&!v(r.classType))try{let e=r.classType();v(e)&&(r.classType=e)}catch{}for(let e of Object.values(r))if(typeof e!=`function`){if(Array.isArray(e))for(let t of e)_(t,n);else _(e,n)}ie(r),ce(r)}function ie(n){if(n.kind!==e.intersection||!Array.isArray(n.types))return;let r=n.types.filter(t);if(r.length!==n.types.length)return;let i=r.filter(t=>t.kind===e.union);if(i.length===0||i.length===1&&r.every(e=>e===i[0]||p(e)))return;let a=[[]];for(let e of r){let t=ae(e);a=a.flatMap(e=>t.map(t=>[...e,...t]))}n.kind=e.union,n.types=a.map(se)}function ae(t){if(t.kind!==e.union)return[[t]];let n=oe(t);return t.types.flatMap(e=>ae(e).map(e=>n?[...e,n]:e))}function oe(t){if(t.annotations||t.validation||t.database)return{kind:e.unknown,annotations:t.annotations,validation:t.validation,database:t.database}}function se(t){return t.some(t=>t.kind===e.never)?{kind:e.never}:t.length===1?t[0]:{kind:e.intersection,types:t}}function v(e){return!!(typeof e==`function`&&e.prototype&&e.prototype.constructor===e)}function ce(n){let r=de(n);if(!r)return;let i=Array.isArray(n.typeArguments)?n.typeArguments:[];if(r===`Record`){if(n.kind!==e.objectLiteral||(n.types??[]).length>0)return;let r=i[0],a=i[1];if(!t(r)||!t(a))return;let o=le(r,a);o.length>0?(n.types=o,delete n.index):n.index=a;return}if((n.types??[]).length>0)return;let a=i[0];if(!t(a))return;if(r===`Extract`){let r=i[1];if(n.kind!==e.union||!t(r))return;n.types=y(a).filter(e=>b(e,r));return}if(n.kind!==e.objectLiteral)return;let o=C(a),s=a.kind===e.objectLiteral?f(a):void 0;if(o.length===0){s&&(n.index=s);return}let c=new Set((Array.isArray(n.utilityKeys)?n.utilityKeys:[]).filter(e=>typeof e==`string`)),l=o.map(T);r===`Pick`?l=l.filter(e=>c.has(String(e.name))):r===`Omit`?l=l.filter(e=>!c.has(String(e.name))):r===`Partial`?l=l.map(e=>({...e,optional:!0})):r===`Required`?l=l.map(e=>({...e,optional:void 0})):r===`OptionalNulls`&&(l=l.map(e=>h(e.type)?{...e,optional:!0}:e)),n.types=l,s&&(n.index=s)}function le(t,n){return ue(t).map(t=>({kind:e.propertySignature,name:t,type:n,optional:void 0}))}function ue(t){let n=[];for(let r of y(t)){if(r.kind!==e.literal||typeof r.literal!=`string`&&typeof r.literal!=`number`)return[];n.push(r.literal)}return n}function y(t){return t.kind===e.union?t.types.flatMap(y):[t]}function b(t,n){let r=s(t),i=s(n);if(i.kind===e.union)return i.types.some(e=>b(r,e));if(r.kind===e.union)return r.types.every(e=>b(e,i));if(i.kind===e.objectLiteral){let t=d(i).filter(e=>!e.optional&&!m(e.type));if(t.length===0)return r.kind===e.objectLiteral||r.kind===e.class;let n=C(r);return n.length!==0&&t.every(e=>{let t=n.find(t=>String(t.name)===String(e.name));return t?x(t.type,e.type):!1})}return x(r,i)}function x(t,n){let r=s(t),i=s(n);return r.kind===e.any||r.kind===e.unknown||i.kind===e.any||i.kind===e.unknown?!0:r.kind===e.union?r.types.some(e=>x(e,i)):i.kind===e.union?i.types.some(e=>x(r,e)):r.kind===e.literal&&i.kind===e.literal?r.literal===i.literal:r.kind===e.literal?S(r.literal,i):i.kind===e.literal?S(i.literal,r):r.kind===i.kind}function S(t,n){return t===null?n.kind===e.null:t===void 0?n.kind===e.undefined:typeof t==`string`?n.kind===e.string||n.kind===e.templateLiteral:typeof t==`number`?n.kind===e.number:typeof t==`boolean`?n.kind===e.boolean:typeof t==`bigint`&&n.kind===e.bigint}function C(t){if(t.kind===e.class){let n=g(t.classType);if(!n)return[];try{return G.from(n).getProperties().map(t=>({kind:e.propertySignature,name:t.name,type:t.getType(),optional:t.isOptional()?!0:void 0,description:t.getDescription()||void 0}))}catch(e){if(e instanceof Error&&e.message.startsWith(`No runtime type metadata for `))return[];throw e}}return t.kind===e.objectLiteral?d(t):t.kind===e.intersection?w(t.types.flatMap(C)):[]}function w(e){let t=[],n=new Map;for(let r of e){let e=String(r.name);n.has(e)||t.push(e),n.set(e,T(r))}return t.map(e=>n.get(e))}function T(t){return{kind:e.propertySignature,name:t.name,type:t.type,optional:t.optional?!0:void 0,description:t.description}}function E(e){return e===`Pick`||e===`Omit`||e===`Partial`||e===`Required`||e===`Extract`||e===`Record`||e===`OptionalNulls`}function de(e){if(E(e.utilityType))return e.utilityType;if(E(e.typeName))return e.typeName}function D(t,n){if(n(t),(t.kind===e.union||t.kind===e.intersection)&&`types`in t)for(let e of t.types)D(e,n);else if((t.kind===e.array||t.kind===e.promise)&&`type`in t)D(t.type,n);else if(t.kind===e.objectLiteral&&`types`in t){for(let e of t.types)D(e.type,n);t.index&&D(t.index,n)}}function O(t,n){if(n(t),(t.kind===e.union||t.kind===e.intersection)&&`types`in t)for(let e of t.types)O(e,n)}function fe(e,t){let n;return D(e,r=>{n===void 0&&r!==e&&(n=t(r))}),n}function k(e,t){let n;return O(e,r=>{n===void 0&&r!==e&&(n=t(r))}),n}function pe(e,t){let n=!1;return D(e,e=>{n||=t(e)}),n}function A(t){return t?.kind===e.literal&&typeof t.literal==`number`?t.literal:void 0}function j(t){if(!t)return;let n=t.runtime;if(n!==void 0)return typeof n==`function`?n():n;if(t.kind===e.literal)return t.literal}function M(e,t){return e?`${e}.${t}`:t}function me(t){let n=N.getType(t,`tsf:type`);return n?.kind===e.literal&&(n.literal===`uuid`||n.literal===`uuidString`)}function he(t){let n=N.getType(t,`tsf:type`);return n?.kind===e.literal&&n.literal===`uuid`}var N={getType(e,t){return e.annotations?.[t]||(k(e,e=>e.annotations?.[t])??ve(e,t))},getOption(e,t){return this.getType(e,t)}},ge={getAnnotations(e){let t=[],n=new Set;return O(e,e=>{if(e.validation)for(let r of e.validation){let e=Ee(r);n.has(e)||(n.add(e),t.push(r))}let r=be(e);if(r){let e=Ee(r);n.has(e)||(n.add(e),t.push(r))}}),t}},P={getDatabase(t,n){let r=t.database?.[n]??(n===`*`?void 0:t.database?.[`*`]);if(r)return r;if(t.kind===e.union){let r=t.types.filter(t=>t.kind!==e.null&&t.kind!==e.undefined);return r.length===1?this.getDatabase(r[0],n):void 0}let i=k(t,e=>e.database?.[n]??(n===`*`?void 0:e.database?.[`*`]));if(i)return i;let a=xe(t,n);if(a)return a}},F={kind:e.undefined};function _e(t){return{kind:e.literal,literal:t}}function I(e,...t){return{name:e,args:t}}function ve(e,t){return we(e,e=>ye(e,t))}function ye(e,t){let n=L(e);if(n&&n.kind===t&&(n.kind.startsWith(`tsf:`)||n.kind.startsWith(`openapi:`)))return n.value??F}function be(e){let t=L(e);if(t)switch(t.kind){case`minLength`:case`maxLength`:case`minimum`:case`greaterThan`:case`maximum`:case`lessThan`:return t.value?I(t.kind,t.value):void 0;case`pattern`:return I(`pattern`,t.value??R(t.schema,`pattern`)??F);case`format`:{let e=B(t.value)??B(R(t.schema,`format`)),n=e?Te(e):void 0;return n?I(`pattern`,_e(n)):void 0}case`tsf:validator`:return I(`validator`,t.value??F);default:return}}function xe(e,t){return we(e,e=>Se(e,t))}function Se(e,t){let n=L(e);if(!n)return;let r=V(n.schema)??V(n.value);if(r&&(n.kind===`database:field`||n.kind===`database:mysql`&&t===`mysql`))return r}function L(t){if(t.kind!==e.objectLiteral)return;let n=t.types.find(e=>String(e.name)===`typia.tag`);if(!n)return;let r=z(n.type);if(r.kind!==e.objectLiteral)return;let i=B(R(r,`kind`));if(i)return{kind:i,value:R(r,`value`),schema:R(r,`schema`)}}function R(t,n){let r=t?z(t):void 0;if(r&&r.kind===e.objectLiteral)return r.types.find(e=>String(e.name)===n)?.type}function z(t){if(t.kind!==e.union)return t;let n=t.types.filter(t=>t.kind!==e.undefined&&t.kind!==e.null);return n.length===1?n[0]:t}function B(t){return t?.kind===e.literal&&typeof t.literal==`string`?t.literal:void 0}function V(t){let n=t?z(t):void 0;if(!n||n.kind!==e.objectLiteral)return;let r={};for(let e of n.types){let t=Ce(e.type);t!==void 0&&(r[String(e.name)]=t)}return r}function Ce(t){let n=z(t);if(n.kind===e.literal)return n.literal;if(n.kind!==e.undefined&&n.kind===e.objectLiteral)return V(n)}function we(e,t){let n;return O(e,e=>{n===void 0&&(n=t(e))}),n}function Te(e){switch(e){case`date`:return`^\\d{4}-\\d{2}-\\d{2}$`;case`email`:return`^[a-zA-Z0-9_+.-]+@[a-zA-Z0-9-.]+\\.[a-zA-Z]+$`;case`uuid`:return`^(?:urn:uuid:)?[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$`;default:return}}function Ee(e){return`${e.name}:${e.args.map(De).join(`|`)}`}function De(t){if(t.kind===e.literal&&`literal`in t)return`literal:${String(t.literal)}`;let n=t.runtime;return n?`runtime:${String(n)}`:`${t.kind}:${t.typeName??``}`}function Oe(t){let n=N.getType(t,`tsf:type`);if(n?.kind===e.literal){if(n.literal===`integer`)return e.number;if(typeof n.literal==`string`)return e.string}}var H=new WeakMap,U=new WeakMap;function W(e,t){t&&(t.collectionName&&(e.collectionName=t.collectionName),t.indexes?.length&&(e.indexes=[...t.indexes]),t.excludeMigration&&(e.excludeMigration=!0))}function ke(e){if(!e)throw Error(`typeOf<T>() was not transformed by the metadata compiler`);return _(e),e}function Ae(e,t){t.classType=e,W(t,U.get(e)),H.set(e,t)}var G=class t{classType;name;indexes;metadata;constructor(e,t){this.classType=e,this.metadata=t,this.name=t.name||e.name;let n=t.properties.flatMap(e=>{let t=[];return e.index&&t.push({names:[e.name],options:e.index}),e.unique&&t.push({names:[e.name],options:{...e.unique,unique:!0}}),t});this.indexes=[...t.indexes??[],...n]}static from(e){let n=J(e);if(!n)throw Error(`No runtime type metadata for ${e.name}. Did the tsf metadata compiler run?`);return new t(e,n)}getClassType(){return this.classType}getCollectionName(){return this.metadata.collectionName??U.get(this.classType)?.collectionName}isDatabaseMigrationSkipped(e){return this.metadata.excludeMigration===!0||U.get(this.classType)?.excludeMigration===!0}getProperties(){return Y(this.classType,this.metadata).map(e=>new K(e))}getProperty(e){let t=Y(this.classType,this.metadata).find(t=>t.name===e);if(!t)throw Error(`Property ${String(e)} does not exist on ${this.name}`);return new K(t)}getPrimary(){let e=Y(this.classType,this.metadata).find(e=>e.primaryKey);if(!e)throw Error(`Class ${this.name} has no primary key`);return new K(e)}getMethod(e){let t=Me(this.classType,this.metadata).find(t=>t.name===e||String(t.name)===String(e));if(!t)throw Error(`Method ${String(e)} does not exist on ${this.name}`);return new q(t)}getConstructorOrUndefined(){let t=Ne(this.classType,this.metadata);if(t.length)return new q({name:`constructor`,parameters:t,returnType:{kind:e.void}})}},K=class{metadata;type;name;constructor(e){this.metadata=e,this.type=e.type,this.name=e.name}getNameAsString(){return String(this.name)}getType(){return this.type}getDescription(){return this.metadata.description??``}isPublic(){return!0}isPrimaryKey(){return this.metadata.primaryKey===!0}isAutoIncrement(){return this.metadata.autoIncrement===!0}isOptional(){return this.metadata.optional===!0||m(this.type)}isNullable(){return h(this.type)}getDatabase(e=`*`){return P.getDatabase(this.type,e)||P.getDatabase(this.type,`*`)}isBackReference(){return!1}isDatabaseSkipped(e){return!1}isDatabaseMigrationSkipped(e){return!1}isReference(){return this.metadata.reference!==void 0}getReference(){return this.metadata.reference}getResolvedReflectionClass(){let t=s(this.type);if(t.kind!==e.class)throw Error(`Property ${String(this.name)} is not a class reference`);return G.from(re(t.classType))}},q=class{metadata;constructor(e){this.metadata=e}getDescription(){return this.metadata.description??``}getParameters(){return this.metadata.parameters.map(e=>new je(e))}getReturnType(){return this.metadata.returnType}},je=class{metadata;constructor(e){this.metadata=e}getName(){return this.metadata.name}getType(){return this.metadata.type}isOptional(){return this.metadata.optional===!0||m(this.metadata.type)}hasDefault(){return this.metadata.default===!0}};function J(t){let n=H.get(t);if(n)return _(n),n;let r=Object.prototype.hasOwnProperty.call(t,`__tsfType`)?t.__tsfType:void 0;if(!r){if(!X(t))return;let n={kind:e.class,classType:t,name:t.name,typeName:t.name,properties:[],methods:[],constructorParameters:[],hasConstructor:!0};return W(n,U.get(t)),H.set(t,n),n}return W(r,U.get(t)),_(r),H.set(t,r),r}function Y(e,t){let n=X(e),r=n?Y(n.classType,n.metadata):[],i=new Set(t.properties.map(e=>e.name));return[...r.filter(e=>!i.has(e.name)),...t.properties]}function Me(e,t){let n=X(e),r=n?Me(n.classType,n.metadata):[],i=new Set(t.methods.map(e=>e.name));return[...r.filter(e=>!i.has(e.name)),...t.methods]}function Ne(e,t){if(t.constructorParameters.length||t.hasConstructor)return t.constructorParameters;let n=X(e);return n?Ne(n.classType,n.metadata):[]}function X(e){let t=(e.prototype?Object.getPrototypeOf(e.prototype):void 0)?.constructor;if(!t||t===Object||t===e)return;let n=J(t);return n?{classType:t,metadata:n}:void 0}var Pe=new Map,Z={register(e,t){Pe.set(e,t)},get(e){return Pe.get(e)}};function Fe(e,t){let n=He(e,t);return n?Q(e,n):[]}function Ie(e,t){if(!t)throw Error(`deserialize<T>() was not transformed by the metadata compiler`);return _(t),$(e,t)}function Le(e,t,n,r,i){if(!i)throw Error(`validatedDeserialize<T>() requires reflected type metadata`);_(i);let a=$(e,i),o=Q(a,i);if(o.length)throw o[0];return a}function Re(e,t,n){if(!n)throw Error(`assert<T>() requires explicit reflected type metadata`);_(n);let r=Q(e,n);if(r.length)throw r[0]}function ze(e,t,n){if(!n)throw Error(`is<T>() requires explicit reflected type metadata`);return _(n),Q(e,n).length===0}function Be(e,t,n,r,i){if(!i)throw Error(`cast<T>() requires explicit reflected type metadata`);return _(i),$(e,i)}function Ve(e){if(t(e))return e;throw Error(`Unsupported receive type payload`)}function He(e,n){if(t(n))return _(n),n;if(typeof n==`function`)return J(n);if(e&&typeof e==`object`)return J(e.constructor)}function Q(t,r,i=``){let a=[],o=s(r),c=Oe(o);if(t===void 0)return m(r)||a.push(new n(`required`,`The value is required.`,i)),a;if(t===null)return h(r)||a.push(new n(`required`,`The value cannot be null.`,i)),a;if(c===e.string)typeof t!=`string`&&a.push(new n(`type`,`The value must be a string.`,i));else if(c===e.number)(typeof t!=`number`||Number.isNaN(t))&&a.push(new n(`type`,`The value must be a number.`,i));else if(c===e.boolean)typeof t!=`boolean`&&a.push(new n(`type`,`The value must be a boolean.`,i));else if(o.kind===e.undefined||o.kind===e.null||o.kind===e.never)a.push(new n(`type`,`The value does not match the required type.`,i));else if(o.kind===e.string||o.kind===e.templateLiteral)typeof t!=`string`&&a.push(new n(`type`,`The value must be a string.`,i));else if(o.kind===e.number)(typeof t!=`number`||Number.isNaN(t))&&a.push(new n(`type`,`The value must be a number.`,i));else if(o.kind===e.boolean)typeof t!=`boolean`&&a.push(new n(`type`,`The value must be a boolean.`,i));else if(o.kind===e.array)Array.isArray(t)?t.forEach((e,t)=>{a.push(...Q(e,o.type,M(i,String(t))))}):a.push(new n(`type`,`The value must be an array.`,i));else if(o.kind===e.tuple)Array.isArray(t)?o.types.forEach((e,n)=>{a.push(...Q(t[n],e.type,M(i,String(n))))}):a.push(new n(`type`,`The value must be an array.`,i));else if(o.kind===e.union){let e=o.types.map(e=>Q(t,e,i));if(!e.some(e=>e.length===0)){let t=e.filter(e=>e.length>0).sort((e,t)=>e.length-t.length)[0];t?.length?a.push(...t):a.push(new n(`type`,`The value does not match any allowed type.`,i))}}else if(o.kind===e.objectLiteral){if(!t||typeof t!=`object`||Array.isArray(t))return a.push(new n(`type`,`The value must be an object.`,i)),a;let e=t,r=new Set;for(let t of d(o)){r.add(String(t.name));let n=M(i,String(t.name));e[t.name]===void 0&&t.optional||a.push(...Q(e[t.name],t.type,n))}let s=f(o);if(s)for(let[t,n]of Object.entries(e))r.has(t)||a.push(...Q(n,s,M(i,t)))}else if(o.kind===e.literal)t!==o.literal&&a.push(new n(`type`,`The value must be ${String(o.literal)}.`,i));else if(o.kind===e.enum)o.values.includes(t)||a.push(new n(`type`,`The value does not match any allowed enum value.`,i));else if(o.kind===e.class){let e=g(o.classType);if(!e)return(!t||typeof t!=`object`||Array.isArray(t))&&a.push(new n(`type`,`The value must be an object.`,i)),a;if(e!==Date){let n=G.from(e),r=t;for(let e of n.getProperties())r[String(e.name)]===void 0&&e.isOptional()||a.push(...Q(r[String(e.name)],e.getType(),M(i,String(e.name))))}}for(let e of ge.getAnnotations(r))if(e.name===`minLength`&&typeof t==`string`){let r=A(e.args[0]);r!==void 0&&t.length<r&&a.push(new n(`minLength`,`The value must be at least ${r} characters.`,i))}else if(e.name===`maxLength`&&typeof t==`string`){let r=A(e.args[0]);r!==void 0&&t.length>r&&a.push(new n(`maxLength`,`The value must be at most ${r} characters.`,i))}else if(e.name===`minimum`&&typeof t==`number`){let r=A(e.args[0]);r!==void 0&&t<r&&a.push(new n(`minimum`,`The value must be at least ${r}.`,i))}else if(e.name===`greaterThan`&&typeof t==`number`){let r=A(e.args[0]);r!==void 0&&t<=r&&a.push(new n(`greaterThan`,`The value must be greater than ${r}.`,i))}else if(e.name===`maximum`&&typeof t==`number`){let r=A(e.args[0]);r!==void 0&&t>r&&a.push(new n(`maximum`,`The value must be at most ${r}.`,i))}else if(e.name===`lessThan`&&typeof t==`number`){let r=A(e.args[0]);r!==void 0&&t>=r&&a.push(new n(`lessThan`,`The value must be less than ${r}.`,i))}else if(e.name===`pattern`&&typeof t==`string`){let r=j(e.args[0]),o=typeof r==`string`?new RegExp(r):r instanceof RegExp?r:void 0;o&&!o.test(t)&&a.push(new n(`pattern`,`The value does not match the required pattern.`,i))}else if(e.name===`validate`){let r=j(e.args[0]);if(typeof r==`function`){let e=r(t);e instanceof n&&a.push(new n(e.code,e.message,i))}}else if(e.name===`validator`){let r=j(e.args[0]),o=typeof r==`string`?Z.get(r):void 0;if(o){let e=o(t);e instanceof n&&a.push(new n(e.code,e.message,i))}}return a}function $(t,n){if(t==null)return t;if(n.kind===e.intersection){let e=c(n);if(e&&t&&typeof t==`object`&&!Array.isArray(t)&&!(t instanceof Date))return a.apply(n,$(t,e));let r=t;if(t&&typeof t==`object`&&!Array.isArray(t)&&!(t instanceof Date)){let e={},i=!1;for(let r of n.types){let n=$(t,r);n&&typeof n==`object`&&!Array.isArray(n)&&!(n instanceof Date)&&(Object.assign(e,n),i=!0)}r=i?e:t}else for(let e of n.types)r=$(r,e);return a.apply(n,r)}let r=s(n),i=t;if(r.kind===e.number&&typeof t==`string`&&t.trim()!==``)i=Number(t);else if(r.kind===e.boolean)i=o(t);else if(r.kind===e.enum&&typeof t==`string`){let e=Number(t);!Number.isNaN(e)&&r.values.includes(e)&&(i=e)}else if(r.kind===e.array&&Array.isArray(t))i=t.map(e=>$(e,r.type));else if(r.kind===e.tuple&&Array.isArray(t))i=r.types.map((e,n)=>$(t[n],e.type));else if(r.kind===e.union)for(let e of r.types){let n=$(t,e);if(Q(n,e).length===0){i=n;break}}else if(r.kind===e.class){let e=g(r.classType);if(!e)return a.apply(n,t);if(e===Date)return a.apply(n,t instanceof Date?t:new Date(t));if(typeof t!=`object`)return a.apply(n,t);let o=new e,s=t;for(let t of G.from(e).getProperties())o[String(t.name)]=$(s[String(t.name)],t.getType());i=o}else if(r.kind===e.objectLiteral&&typeof t==`object`){let e=d(r),o=f(r);if(e.length===0&&!o)return a.apply(n,t);let s=t,c={},l=new Set;for(let t of e){let e=String(t.name);l.add(e),c[e]=$(s[e],t.type)}if(o)for(let[e,t]of Object.entries(s))l.has(e)||(c[e]=$(t,o));i=c}return a.apply(n,i)}var Ue=class{x;y};Ae(Ue,{kind:e.class,classType:Ue,name:`Coordinate`,typeName:`Coordinate`,properties:[{name:`x`,type:{kind:e.number}},{name:`y`,type:{kind:e.number}}],methods:[],constructorParameters:[],hasConstructor:!1});function We(e){if(!(e instanceof Date)||Number.isNaN(e.getTime()))return new n(`invalidDate`,`The date is invalid.`)}Z.register(`validDate`,We);function Ge(e,...t){for(let n of t){let t=N.getType(e,n);if(t)return t}}a.addDecorator(e=>Ge(e,`tsf:trim`)!==void 0,(e,t)=>{t.addTransform(e=>typeof e==`string`?e.trim():e)});var Ke=/^[a-z0-9_+.-]+@[a-z0-9-.]+\.[a-z]+$/i;function qe(e){return typeof e==`function`?e.name||`anonymous class`:e&&typeof e==`object`?e.constructor?.name||`anonymous class`:String(e)}exports.Coordinate=Ue,exports.DeserializerRegistry=r,exports.DeserializerState=i,exports.EMAIL_REGEX=Ke,exports.ReflectionClass=G,exports.ReflectionKind=e,exports.ReflectionMethod=q,exports.ReflectionParameter=je,exports.ReflectionProperty=K,exports.ValidationError=n,exports.ValidatorError=n,exports.allowsNull=h,exports.allowsUndefined=m,exports.applyMetadataOptions=W,exports.assert=Re,exports.cast=Be,exports.classMetadata=H,exports.classOptions=U,exports.cloneUtilityProperty=T,exports.coerceBooleanValue=o,exports.databaseAnnotation=P,exports.deserialize=Ie,exports.deserializer=a,exports.expandUtilityTypeMetadata=ce,exports.findNested=fe,exports.findNestedSurface=k,exports.flattenRuntimeUnionTypes=y,exports.getClassName=qe,exports.getFirstTypeAnnotation=Ge,exports.getUtilityTypeName=de,exports.hasNestedType=pe,exports.is=ze,exports.isClass=v,exports.isDatabaseUUIDType=he,exports.isExtractAssignable=b,exports.isMarkerType=p,exports.isReflectedType=t,exports.isUUIDType=me,exports.isUtilityTypeName=E,exports.joinPath=M,exports.knownPrimitiveKind=Oe,exports.literalMatchesType=S,exports.literalNumber=A,exports.mergeStructuredProperties=u,exports.mergeUtilityProperties=w,exports.mergedIntersectionObjectLiteral=c,exports.normalizeTypeMetadata=_,exports.objectLiteralIndexType=f,exports.objectLiteralPropertiesFromType=d,exports.readClassMetadata=J,exports.recordLiteralKeysFromType=ue,exports.recordPropertiesFromKeyType=le,exports.registerClassMetadata=Ae,exports.resolveClassType=re,exports.resolveReceiveType=Ve,exports.resolveRuntimeValue=j,exports.tryResolveClassType=g,exports.typeAnnotation=N,exports.typeOf=ke,exports.typesOverlap=x,exports.unwrapValueType=s,exports.utilitySourcePropertiesFromType=C,exports.validate=Fe,exports.validatedDeserialize=Le,exports.validationAnnotation=ge,exports.validationRegistry=Z,exports.visitType=D,exports.visitTypeSurface=O;
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
// src/reflection/model.ts
|
|
2
2
|
var e = /* @__PURE__ */ function(e) {
|
|
3
3
|
return e[e.never = 0] = "never", e[e.any = 1] = "any", e[e.unknown = 2] = "unknown", e[e.void = 3] = "void", e[e.undefined = 4] = "undefined", e[e.null = 5] = "null", e[e.string = 6] = "string", e[e.number = 7] = "number", e[e.boolean = 8] = "boolean", e[e.bigint = 9] = "bigint", e[e.literal = 10] = "literal", e[e.enum = 11] = "enum", e[e.union = 12] = "union", e[e.intersection = 13] = "intersection", e[e.array = 14] = "array", e[e.tuple = 15] = "tuple", e[e.class = 16] = "class", e[e.object = 17] = "object", e[e.objectLiteral = 18] = "objectLiteral", e[e.property = 19] = "property", e[e.propertySignature = 20] = "propertySignature", e[e.method = 21] = "method", e[e.promise = 22] = "promise", e[e.templateLiteral = 23] = "templateLiteral", e;
|
|
4
4
|
}({});
|
|
5
5
|
function t(e) {
|
|
6
6
|
return !!e && typeof e == "object" && typeof e.kind == "number";
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
//#region src/reflection/errors.ts
|
|
8
|
+
// src/reflection/errors.ts
|
|
10
9
|
var n = class extends Error {
|
|
11
10
|
code;
|
|
12
11
|
path;
|
|
@@ -19,8 +18,7 @@ Object.defineProperty(n, "name", {
|
|
|
19
18
|
configurable: !0,
|
|
20
19
|
value: "ValidatorError"
|
|
21
20
|
});
|
|
22
|
-
|
|
23
|
-
//#region src/reflection/deserializer.ts
|
|
21
|
+
// src/reflection/deserializer.ts
|
|
24
22
|
var r = class {
|
|
25
23
|
decorators = [];
|
|
26
24
|
addDecorator(e, t) {
|
|
@@ -47,8 +45,7 @@ var r = class {
|
|
|
47
45
|
return this.transforms.reduce((e, t) => t(e), e);
|
|
48
46
|
}
|
|
49
47
|
}, a = new r();
|
|
50
|
-
|
|
51
|
-
//#region src/reflection/primitive-conversion.ts
|
|
48
|
+
// src/reflection/primitive-conversion.ts
|
|
52
49
|
function o(e) {
|
|
53
50
|
if (typeof e == "boolean") return e;
|
|
54
51
|
if (typeof e == "number") return e !== 0;
|
|
@@ -59,8 +56,7 @@ function o(e) {
|
|
|
59
56
|
}
|
|
60
57
|
return e;
|
|
61
58
|
}
|
|
62
|
-
|
|
63
|
-
//#region src/reflection/type-utils.ts
|
|
59
|
+
// src/reflection/type-utils.ts
|
|
64
60
|
function s(t) {
|
|
65
61
|
if (t.kind === e.union) {
|
|
66
62
|
let n = t.types.filter((t) => t.kind !== e.undefined && t.kind !== e.null);
|
|
@@ -97,14 +93,8 @@ function u(t) {
|
|
|
97
93
|
});
|
|
98
94
|
}, a = (t) => {
|
|
99
95
|
if (!p(t)) {
|
|
100
|
-
if (t.kind === e.intersection)
|
|
101
|
-
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
if (t.kind === e.objectLiteral) {
|
|
105
|
-
for (let e of d(t)) i(e);
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
96
|
+
if (t.kind === e.intersection) for (let e of t.types) a(e);
|
|
97
|
+
else if (t.kind === e.objectLiteral) for (let e of d(t)) i(e);
|
|
108
98
|
}
|
|
109
99
|
};
|
|
110
100
|
return a(t), n.map((e) => r.get(e));
|
|
@@ -398,8 +388,7 @@ function j(t) {
|
|
|
398
388
|
function M(e, t) {
|
|
399
389
|
return e ? `${e}.${t}` : t;
|
|
400
390
|
}
|
|
401
|
-
|
|
402
|
-
//#region src/reflection/annotations.ts
|
|
391
|
+
// src/reflection/annotations.ts
|
|
403
392
|
function me(t) {
|
|
404
393
|
let n = N.getType(t, "tsf:type");
|
|
405
394
|
return n?.kind === e.literal && (n.literal === "uuid" || n.literal === "uuidString");
|
|
@@ -555,14 +544,12 @@ function Oe(t) {
|
|
|
555
544
|
if (typeof n.literal == "string") return e.string;
|
|
556
545
|
}
|
|
557
546
|
}
|
|
558
|
-
|
|
559
|
-
//#region src/reflection/metadata-store.ts
|
|
547
|
+
// src/reflection/metadata-store.ts
|
|
560
548
|
var H = /* @__PURE__ */ new WeakMap(), U = /* @__PURE__ */ new WeakMap();
|
|
561
549
|
function W(e, t) {
|
|
562
550
|
t && (t.collectionName && (e.collectionName = t.collectionName), t.indexes?.length && (e.indexes = [...t.indexes]), t.excludeMigration && (e.excludeMigration = !0));
|
|
563
551
|
}
|
|
564
|
-
|
|
565
|
-
//#region src/reflection/reflection-class.ts
|
|
552
|
+
// src/reflection/reflection-class.ts
|
|
566
553
|
function ke(e) {
|
|
567
554
|
if (!e) throw Error("typeOf<T>() was not transformed by the metadata compiler");
|
|
568
555
|
return _(e), e;
|
|
@@ -760,8 +747,7 @@ function X(e) {
|
|
|
760
747
|
metadata: n
|
|
761
748
|
} : void 0;
|
|
762
749
|
}
|
|
763
|
-
|
|
764
|
-
//#region src/reflection/conversion.ts
|
|
750
|
+
// src/reflection/conversion.ts
|
|
765
751
|
var Pe = /* @__PURE__ */ new Map(), Z = {
|
|
766
752
|
register(e, t) {
|
|
767
753
|
Pe.set(e, t);
|
|
@@ -939,8 +925,7 @@ function $(t, n) {
|
|
|
939
925
|
}
|
|
940
926
|
return a.apply(n, i);
|
|
941
927
|
}
|
|
942
|
-
|
|
943
|
-
//#region src/types/type-annotations.ts
|
|
928
|
+
// src/types/type-annotations.ts
|
|
944
929
|
var Ue = class {
|
|
945
930
|
x;
|
|
946
931
|
y;
|
|
@@ -975,10 +960,8 @@ a.addDecorator((e) => Ge(e, "tsf:trim") !== void 0, (e, t) => {
|
|
|
975
960
|
t.addTransform((e) => typeof e == "string" ? e.trim() : e);
|
|
976
961
|
});
|
|
977
962
|
var Ke = /^[a-z0-9_+.-]+@[a-z0-9-.]+\.[a-z]+$/i;
|
|
978
|
-
|
|
979
|
-
//#region src/types/runtime.ts
|
|
963
|
+
// src/types/runtime.ts
|
|
980
964
|
function qe(e) {
|
|
981
965
|
return typeof e == "function" ? e.name || "anonymous class" : e && typeof e == "object" ? e.constructor?.name || "anonymous class" : String(e);
|
|
982
966
|
}
|
|
983
|
-
//#endregion
|
|
984
967
|
export { Ue as Coordinate, r as DeserializerRegistry, i as DeserializerState, Ke as EMAIL_REGEX, G as ReflectionClass, e as ReflectionKind, q as ReflectionMethod, je as ReflectionParameter, K as ReflectionProperty, n as ValidationError, n as ValidatorError, h as allowsNull, m as allowsUndefined, W as applyMetadataOptions, Re as assert, Be as cast, H as classMetadata, U as classOptions, T as cloneUtilityProperty, o as coerceBooleanValue, P as databaseAnnotation, Ie as deserialize, a as deserializer, ce as expandUtilityTypeMetadata, fe as findNested, k as findNestedSurface, y as flattenRuntimeUnionTypes, qe as getClassName, Ge as getFirstTypeAnnotation, de as getUtilityTypeName, pe as hasNestedType, ze as is, v as isClass, he as isDatabaseUUIDType, b as isExtractAssignable, p as isMarkerType, t as isReflectedType, me as isUUIDType, E as isUtilityTypeName, M as joinPath, Oe as knownPrimitiveKind, S as literalMatchesType, A as literalNumber, u as mergeStructuredProperties, w as mergeUtilityProperties, c as mergedIntersectionObjectLiteral, _ as normalizeTypeMetadata, f as objectLiteralIndexType, d as objectLiteralPropertiesFromType, J as readClassMetadata, ue as recordLiteralKeysFromType, le as recordPropertiesFromKeyType, Ae as registerClassMetadata, re as resolveClassType, Ve as resolveReceiveType, j as resolveRuntimeValue, g as tryResolveClassType, N as typeAnnotation, ke as typeOf, x as typesOverlap, s as unwrapValueType, C as utilitySourcePropertiesFromType, Fe as validate, Le as validatedDeserialize, ge as validationAnnotation, Z as validationRegistry, D as visitType, O as visitTypeSurface };
|
|
@@ -137,15 +137,21 @@ function resolveTtscBuild(projectRoot, source) {
|
|
|
137
137
|
const projectRequire = createRequire(path.join(projectRoot, 'package.json'));
|
|
138
138
|
const ttscPackageJson = projectRequire.resolve('ttsc/package.json');
|
|
139
139
|
const ttscRoot = path.dirname(ttscPackageJson);
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
|
|
140
|
+
const legacyInternalsPath = path.join(ttscRoot, 'lib', 'plugin', 'internal', 'buildSourcePlugin.js');
|
|
141
|
+
const sourceInternalsRoot = path.join(ttscRoot, 'lib', 'plugin', 'internal', 'source');
|
|
142
|
+
// ttsc 0.34 split the source-build helpers into individual modules.
|
|
143
|
+
const internalsPath = fs.existsSync(legacyInternalsPath) ? legacyInternalsPath : path.join(sourceInternalsRoot, 'computeCacheKey.js');
|
|
144
|
+
const { computeCacheKey } = require(internalsPath);
|
|
145
|
+
const { resolveSourceBuildCachePaths } = require(
|
|
146
|
+
fs.existsSync(legacyInternalsPath) ? legacyInternalsPath : path.join(sourceInternalsRoot, 'resolveSourceBuildCachePaths.js')
|
|
147
|
+
);
|
|
148
|
+
if (typeof computeCacheKey !== 'function' || typeof resolveSourceBuildCachePaths !== 'function') {
|
|
143
149
|
throw new Error('installed ttsc does not expose compatible cache helpers');
|
|
144
150
|
}
|
|
145
151
|
|
|
146
152
|
const { ttscVersion, typescriptVersion } = resolveToolchainVersions(projectRoot);
|
|
147
153
|
const goBinary = resolveGoBinary(ttscRoot, internalsPath);
|
|
148
|
-
const cacheKey =
|
|
154
|
+
const cacheKey = computeCacheKey({
|
|
149
155
|
dir: source,
|
|
150
156
|
entry: '.',
|
|
151
157
|
goBinary,
|
|
@@ -155,7 +161,7 @@ function resolveTtscBuild(projectRoot, source) {
|
|
|
155
161
|
});
|
|
156
162
|
return {
|
|
157
163
|
cacheKey,
|
|
158
|
-
cachePaths:
|
|
164
|
+
cachePaths: resolveSourceBuildCachePaths(projectRoot),
|
|
159
165
|
ttscVersion,
|
|
160
166
|
typescriptVersion
|
|
161
167
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/reflection/compact-metadata.ts
|
|
2
2
|
var e = "$tsf", t = "$tsfImport", n = "$tsfAlias", r = "$tsfType", i = "$tsfNode";
|
|
3
3
|
function a(e, t, n) {
|
|
4
4
|
return f(u(e), t, n);
|
|
@@ -190,5 +190,4 @@ function x(e) {
|
|
|
190
190
|
let t = Object.keys(e);
|
|
191
191
|
return t.length === 1 && t[0] === i && Number.isSafeInteger(e[i]);
|
|
192
192
|
}
|
|
193
|
-
//#endregion
|
|
194
193
|
export { s as createCompactMetadataRegistryV1, c as createCompactMetadataRegistryV2, a as decodeCompactMetadataV1, o as decodeCompactMetadataV2, l as resolveCompactMetadataAliasV1 };
|