typia 3.7.0-dev.20230401 → 3.7.0-dev.20230401-2
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/lib/module.d.ts +13 -1
- package/lib/module.js +4 -2
- package/lib/module.js.map +1 -1
- package/package.json +1 -1
- package/src/module.ts +16 -1
- package/src/programmers/internal/check_custom.ts +41 -41
package/lib/module.d.ts
CHANGED
|
@@ -340,12 +340,24 @@ export declare function validateEquals<T>(input: unknown): IValidation<T>;
|
|
|
340
340
|
* typia.addValidationTag("dollar")("string")(
|
|
341
341
|
* () => (value: string) => value.startsWith("$"),
|
|
342
342
|
* );
|
|
343
|
+
*
|
|
344
|
+
* interface TagCustom {
|
|
345
|
+
* /**
|
|
346
|
+
* * @powerOf 10
|
|
347
|
+
* *\/
|
|
348
|
+
* powerOf: number;
|
|
349
|
+
*
|
|
350
|
+
* /**
|
|
351
|
+
* * @dollar
|
|
352
|
+
* *\/
|
|
353
|
+
* dollar: string;
|
|
354
|
+
* }
|
|
343
355
|
* ```
|
|
344
356
|
*
|
|
345
357
|
* @param name Name of tag (`@name`)
|
|
346
358
|
* @returns Currying function
|
|
347
359
|
*/
|
|
348
|
-
export declare const addValidationTag: (name: string) => <Type extends keyof Customizable>(type: Type) => (closure: (text: string) => (value: Customizable[Type]) => boolean) =>
|
|
360
|
+
export declare const addValidationTag: (name: string) => <Type extends keyof Customizable>(type: Type) => (closure: (text: string) => (value: Customizable[Type]) => boolean) => boolean;
|
|
349
361
|
/**
|
|
350
362
|
* > You must configure the generic argument `T`.
|
|
351
363
|
*
|
package/lib/module.js
CHANGED
|
@@ -63,8 +63,10 @@ var addValidationTag = function (name) {
|
|
|
63
63
|
return function (type) {
|
|
64
64
|
return function (closure) {
|
|
65
65
|
var key = "".concat(name, ":").concat(type);
|
|
66
|
-
if (
|
|
67
|
-
|
|
66
|
+
if (_dictionary_1.$dictionary.has(key))
|
|
67
|
+
return false;
|
|
68
|
+
_dictionary_1.$dictionary.set(key, closure);
|
|
69
|
+
return true;
|
|
68
70
|
};
|
|
69
71
|
};
|
|
70
72
|
};
|
package/lib/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAuD;AACvD,oDAAmD;AAYnD,6DAA2C;AAC3C,4DAA0C;AAC1C,wDAAsC;AACtC,qDAAmC;AACnC,gDAA8B;AAC9B,8CAA4B;AAC5B,mDAAiC;AA4DjC,SAAgB,MAAM;IAClB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAFD,wBAEC;AACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAmClD,SAAgB,UAAU;IACtB,IAAI,CAAC,YAAY,CAAC,CAAC;AACvB,CAAC;AAFD,gCAEC;AACD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAqD1D,SAAgB,EAAE;IACd,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAFD,gBAEC;AACD,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAuD1C,SAAgB,QAAQ;IACpB,IAAI,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AACD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AA0D9C,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,qBAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAuD9D,SAAgB,MAAM;IAClB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAFD,wBAEC;AACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AAyDtC,SAAgB,cAAc;IAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3B,CAAC;AAFD,wCAEC;AACD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAuD;AACvD,oDAAmD;AAYnD,6DAA2C;AAC3C,4DAA0C;AAC1C,wDAAsC;AACtC,qDAAmC;AACnC,gDAA8B;AAC9B,8CAA4B;AAC5B,mDAAiC;AA4DjC,SAAgB,MAAM;IAClB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAFD,wBAEC;AACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAmClD,SAAgB,UAAU;IACtB,IAAI,CAAC,YAAY,CAAC,CAAC;AACvB,CAAC;AAFD,gCAEC;AACD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAqD1D,SAAgB,EAAE;IACd,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAFD,gBAEC;AACD,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAuD1C,SAAgB,QAAQ;IACpB,IAAI,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AACD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AA0D9C,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,qBAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAuD9D,SAAgB,MAAM;IAClB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAFD,wBAEC;AACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AAyDtC,SAAgB,cAAc;IAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3B,CAAC;AAFD,wCAEC;AACD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AAqC7C,IAAM,gBAAgB,GACzB,UAAC,IAAY;IAIb,OAAA,UAAkC,IAAU;QAI5C,OAAA,UAAC,OAAiE;YAC9D,IAAM,GAAG,GAAG,UAAG,IAAI,cAAI,IAAI,CAAW,CAAC;YACvC,IAAI,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAEvC,yBAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QAChB,CAAC;IAND,CAMC;AAVD,CAUC,CAAC;AAfO,QAAA,gBAAgB,oBAevB;AAgEN,SAAgB,WAAW;IACvB,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAFD,kCAEC;AA6CD,SAAgB,WAAW;IACvB,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAFD,kCAEC;AACD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AA6C5D,SAAgB,OAAO;IACnB,IAAI,CAAC,SAAS,CAAC,CAAC;AACpB,CAAC;AAFD,0BAEC;AACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AA+C3B,SAAgB,aAAa;IACzB,IAAI,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;AAFD,sCAEC;AACD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AA6BvC,SAAgB,SAAS;IACrB,IAAI,CAAC,WAAW,CAAC,CAAC;AACtB,CAAC;AAFD,8BAEC;AACD,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;AAmD3D,SAAgB,eAAe;IAC3B,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC5B,CAAC;AAFD,0CAEC;AACD,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,qBAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,qBAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAmDvE,SAAgB,WAAW;IACvB,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAFD,kCAEC;AAED,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,qBAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,qBAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AAqD/D,SAAgB,iBAAiB;IAC7B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC9B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAkB3E,SAAgB,QAAQ;IACpB,IAAI,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AA2CD,SAAgB,MAAM;IAClB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAFD,wBAEC;AACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AAyB1C,SAAgB,KAAK;IACjB,IAAI,CAAC,OAAO,CAAC,CAAC;AAClB,CAAC;AAFD,sBAEC;AACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AA2C/C,SAAgB,WAAW;IACvB,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAFD,kCAEC;AACD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,qBAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AA2C3D,SAAgB,OAAO;IACnB,IAAI,CAAC,SAAS,CAAC,CAAC;AACpB,CAAC;AAFD,0BAEC;AACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAyCnD,SAAgB,aAAa;IACzB,IAAI,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;AAFD,sCAEC;AACD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,qBAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AA4B/D,SAAgB,KAAK;IACjB,IAAI,CAAC,OAAO,CAAC,CAAC;AAClB,CAAC;AAFD,sBAEC;AACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAyC/C,SAAgB,WAAW;IACvB,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAFD,kCAEC;AACD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,qBAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AA2C3D,SAAgB,OAAO;IACnB,IAAI,CAAC,SAAS,CAAC,CAAC;AACpB,CAAC;AAFD,0BAEC;AACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AA6CnD,SAAgB,aAAa;IACzB,IAAI,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;AAFD,sCAEC;AACD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,qBAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AAmCnD,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAgCpC,SAAgB,gBAAgB;IAC5B,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC7B,CAAC;AAFD,4CAEC;AACD,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;AA0B5C,SAAgB,QAAQ;IACpB,IAAI,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AACD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AA0B5B,SAAgB,cAAc;IAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3B,CAAC;AAFD,wCAEC;AACD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AA6BxC,SAAgB,kBAAkB;IAC9B,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC/B,CAAC;AAFD,gDAEC;AACD,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;AA0BhD,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AA0BpC,SAAgB,oBAAoB;IAChC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACjC,CAAC;AAFD,oDAEC;AACD,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AA6BpD,SAAgB,aAAa;IACzB,IAAI,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;AAFD,sCAEC;AACD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AA0BtC,SAAgB,iBAAiB;IAC7B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC9B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AA4B9C,SAAgB,mBAAmB;IAG/B,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAChC,CAAC;AAJD,kDAIC;AACD,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AA0BlD,SAAgB,eAAe;IAC3B,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC5B,CAAC;AAFD,0CAEC;AACD,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AA0B1C,SAAgB,qBAAqB;IACjC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAClC,CAAC;AAFD,sDAEC;AACD,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AA0BtD,SAAgB,iBAAiB;IAC7B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC9B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AA4B9C,SAAgB,uBAAuB;IAGnC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AACpC,CAAC;AAJD,0DAIC;AACD,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC;AAiC1D,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AA0BpC,SAAgB,WAAW;IACvB,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAFD,kCAEC;AACD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AA0BlC,SAAgB,iBAAiB;IAC7B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC9B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AA0B9C,SAAgB,aAAa;IACzB,IAAI,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;AAFD,sCAEC;AACD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AA4BtC,SAAgB,mBAAmB;IAC/B,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAChC,CAAC;AAFD,kDAEC;AACD,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AA0BlD,SAAgB,WAAW;IACvB,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAFD,kCAEC;AACD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AA0BlC,SAAgB,iBAAiB;IAC7B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC9B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AA0B9C,SAAgB,aAAa;IACzB,IAAI,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;AAFD,sCAEC;AACD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AA4BtC,SAAgB,mBAAmB;IAG/B,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAChC,CAAC;AAJD,kDAIC;AACD,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAKlD,SAAS,IAAI,CAAC,IAAY;IACtB,MAAM,IAAI,KAAK,CACX,yBAAkB,IAAI,uJAAkJ,CAC3K,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
package/src/module.ts
CHANGED
|
@@ -431,6 +431,18 @@ Object.assign(validateEquals, Namespace.validate());
|
|
|
431
431
|
* typia.addValidationTag("dollar")("string")(
|
|
432
432
|
* () => (value: string) => value.startsWith("$"),
|
|
433
433
|
* );
|
|
434
|
+
*
|
|
435
|
+
* interface TagCustom {
|
|
436
|
+
* /**
|
|
437
|
+
* * @powerOf 10
|
|
438
|
+
* *\/
|
|
439
|
+
* powerOf: number;
|
|
440
|
+
*
|
|
441
|
+
* /**
|
|
442
|
+
* * @dollar
|
|
443
|
+
* *\/
|
|
444
|
+
* dollar: string;
|
|
445
|
+
* }
|
|
434
446
|
* ```
|
|
435
447
|
*
|
|
436
448
|
* @param name Name of tag (`@name`)
|
|
@@ -447,7 +459,10 @@ export const addValidationTag =
|
|
|
447
459
|
*/
|
|
448
460
|
(closure: (text: string) => (value: Customizable[Type]) => boolean) => {
|
|
449
461
|
const key = `${name}:${type}` as const;
|
|
450
|
-
if (
|
|
462
|
+
if ($dictionary.has(key)) return false;
|
|
463
|
+
|
|
464
|
+
$dictionary.set(key, closure);
|
|
465
|
+
return true;
|
|
451
466
|
};
|
|
452
467
|
|
|
453
468
|
/* -----------------------------------------------------------
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
|
|
3
|
-
import { MetadataTagFactory } from "../../factories/MetadataTagFactory";
|
|
4
|
-
|
|
5
|
-
import { IJsDocTagInfo } from "../../metadata/IJsDocTagInfo";
|
|
6
|
-
|
|
7
|
-
import { FunctionImporter } from "../helpers/FunctionImporeter";
|
|
8
|
-
import { ICheckEntry } from "../helpers/ICheckEntry";
|
|
9
|
-
|
|
10
|
-
export const check_custom =
|
|
11
|
-
(type: string, alias?: string) =>
|
|
12
|
-
(importer: FunctionImporter) =>
|
|
13
|
-
(jsDocTags: IJsDocTagInfo[]) =>
|
|
14
|
-
(input: ts.Expression): ICheckEntry.ITag[] =>
|
|
15
|
-
jsDocTags
|
|
16
|
-
.filter(
|
|
17
|
-
(tag) =>
|
|
18
|
-
tag.name !== "random" &&
|
|
19
|
-
(!tag.text?.length ||
|
|
20
|
-
(tag.text?.length === 1 &&
|
|
21
|
-
tag.text?.[0]?.kind === "text")) &&
|
|
22
|
-
MetadataTagFactory._PARSER[tag.name] === undefined,
|
|
23
|
-
)
|
|
24
|
-
.map((tag) => {
|
|
25
|
-
const text: string | undefined = tag.text?.[0]?.text ?? "";
|
|
26
|
-
return {
|
|
27
|
-
expected: `${alias ?? type} (@${tag.name}${
|
|
28
|
-
text.length ? ` ${text}` : ""
|
|
29
|
-
})`,
|
|
30
|
-
expression: ts.factory.createCallExpression(
|
|
31
|
-
importer.use("is_custom"),
|
|
32
|
-
undefined,
|
|
33
|
-
[
|
|
34
|
-
ts.factory.createStringLiteral(tag.name),
|
|
35
|
-
ts.factory.createStringLiteral(type),
|
|
36
|
-
ts.factory.createStringLiteral(text),
|
|
37
|
-
input,
|
|
38
|
-
],
|
|
39
|
-
),
|
|
40
|
-
};
|
|
41
|
-
});
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
import { MetadataTagFactory } from "../../factories/MetadataTagFactory";
|
|
4
|
+
|
|
5
|
+
import { IJsDocTagInfo } from "../../metadata/IJsDocTagInfo";
|
|
6
|
+
|
|
7
|
+
import { FunctionImporter } from "../helpers/FunctionImporeter";
|
|
8
|
+
import { ICheckEntry } from "../helpers/ICheckEntry";
|
|
9
|
+
|
|
10
|
+
export const check_custom =
|
|
11
|
+
(type: string, alias?: string) =>
|
|
12
|
+
(importer: FunctionImporter) =>
|
|
13
|
+
(jsDocTags: IJsDocTagInfo[]) =>
|
|
14
|
+
(input: ts.Expression): ICheckEntry.ITag[] =>
|
|
15
|
+
jsDocTags
|
|
16
|
+
.filter(
|
|
17
|
+
(tag) =>
|
|
18
|
+
tag.name !== "random" &&
|
|
19
|
+
(!tag.text?.length ||
|
|
20
|
+
(tag.text?.length === 1 &&
|
|
21
|
+
tag.text?.[0]?.kind === "text")) &&
|
|
22
|
+
MetadataTagFactory._PARSER[tag.name] === undefined,
|
|
23
|
+
)
|
|
24
|
+
.map((tag) => {
|
|
25
|
+
const text: string | undefined = tag.text?.[0]?.text ?? "";
|
|
26
|
+
return {
|
|
27
|
+
expected: `${alias ?? type} (@${tag.name}${
|
|
28
|
+
text.length ? ` ${text}` : ""
|
|
29
|
+
})`,
|
|
30
|
+
expression: ts.factory.createCallExpression(
|
|
31
|
+
importer.use("is_custom"),
|
|
32
|
+
undefined,
|
|
33
|
+
[
|
|
34
|
+
ts.factory.createStringLiteral(tag.name),
|
|
35
|
+
ts.factory.createStringLiteral(type),
|
|
36
|
+
ts.factory.createStringLiteral(text),
|
|
37
|
+
input,
|
|
38
|
+
],
|
|
39
|
+
),
|
|
40
|
+
};
|
|
41
|
+
});
|