glasswork 0.6.1 → 0.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-prisma-types.d.ts","sourceRoot":"","sources":["../../src/utils/serialize-prisma-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAC3C,MAAM,GACN,CAAC,SAAS;IAAE,WAAW,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAA;CAAE,GAC5C,MAAM,GACN,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACzB,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACzC,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAsCD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa,EAAE,mBAE3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,IAAI,EAAE,CAAC,EACP,MAAM,GAAE,mBAAmC,EAC3C,MAAM,SAAI,EACV,KAAK,kBAAwB,GAC5B,eAAe,CAAC,CAAC,CAAC,CAqDpB;AAED;;;;;GAKG;AACH,KAAK,iBAAiB,GAAG;IACvB,QAAQ,IAAI,MAAM,CAAC;IACnB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC/C,MAAM,GAAG,IAAI,GACb,CAAC,SAAS,MAAM,GACd,MAAM,GAAG,iBAAiB,GAC1B,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAC3B,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"serialize-prisma-types.d.ts","sourceRoot":"","sources":["../../src/utils/serialize-prisma-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAC3C,MAAM,GACN,CAAC,SAAS;IAAE,WAAW,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAA;CAAE,GAC5C,MAAM,GACN,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACzB,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACzC,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAwED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa,EAAE,mBAE3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,IAAI,EAAE,CAAC,EACP,MAAM,GAAE,mBAAmC,EAC3C,MAAM,SAAI,EACV,KAAK,kBAAwB,GAC5B,eAAe,CAAC,CAAC,CAAC,CAqDpB;AAED;;;;;GAKG;AACH,KAAK,iBAAiB,GAAG;IACvB,QAAQ,IAAI,MAAM,CAAC;IACnB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC/C,MAAM,GAAG,IAAI,GACb,CAAC,SAAS,MAAM,GACd,MAAM,GAAG,iBAAiB,GAC1B,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAC3B,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC3C,CAAC,CAAC"}
@@ -1,13 +1,37 @@
1
1
  /**
2
2
  * Check if a value is a Decimal instance (from Prisma/Decimal.js)
3
+ *
4
+ * Uses multiple detection strategies:
5
+ * 1. Checks for toNumber() method (primary indicator)
6
+ * 2. Checks for Decimal.js internal structure (s, e, d properties)
7
+ * 3. Checks constructor name as fallback
8
+ *
9
+ * This ensures we catch Prisma Decimal objects regardless of how they're constructed.
3
10
  */
4
11
  function isDecimal(value) {
5
- return (value !== null &&
6
- typeof value === 'object' &&
7
- 'constructor' in value &&
8
- value.constructor.name === 'Decimal' &&
9
- 'toNumber' in value &&
10
- typeof value.toNumber === 'function');
12
+ if (value === null || typeof value !== 'object') {
13
+ return false;
14
+ }
15
+ // Must have toNumber method
16
+ if (!('toNumber' in value) ||
17
+ typeof value.toNumber !== 'function') {
18
+ return false;
19
+ }
20
+ // Check for Decimal.js internal structure (most reliable indicator)
21
+ const hasDecimalStructure = 's' in value &&
22
+ 'e' in value &&
23
+ 'd' in value &&
24
+ typeof value.s === 'number' &&
25
+ typeof value.e === 'number' &&
26
+ Array.isArray(value.d);
27
+ // Check constructor name as fallback
28
+ const hasDecimalConstructor = 'constructor' in value &&
29
+ typeof value.constructor === 'object' &&
30
+ value.constructor !== null &&
31
+ 'name' in value.constructor &&
32
+ value.constructor.name === 'Decimal';
33
+ // Accept if it has Decimal structure OR Decimal constructor name
34
+ return hasDecimalStructure || hasDecimalConstructor;
11
35
  }
12
36
  /**
13
37
  * Default transformer that handles Date and Decimal types
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-prisma-types.js","sourceRoot":"","sources":["../../src/utils/serialize-prisma-types.ts"],"names":[],"mappings":"AA2CA;;GAEG;AACH,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,aAAa,IAAI,KAAK;QACtB,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS;QACpC,UAAU,IAAI,KAAK;QACnB,OAAQ,KAAgC,CAAC,QAAQ,KAAK,UAAU,CACjE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,kBAAkB,GAAoB,CAAC,KAAc,EAAE,EAAE;IAC7D,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,kCAAkC;AACtD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,YAAY,EAAE,CAAC,kBAAkB,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAO,EACP,SAA8B,aAAa,EAC3C,MAAM,GAAG,CAAC,EACV,QAAQ,IAAI,OAAO,EAAU;IAE7B,2DAA2D;IAC3D,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,6CAA6C;YAC3C,qEAAqE,CACxE,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,IAA0B,CAAC;IACpC,CAAC;IAED,sCAAsC;IACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,oDAAoD;YAClD,oDAAoD,CACvD,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,WAAiC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAChC,CAAC;IAC1B,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAA4B,CAAC;IACtC,CAAC;IAED,0BAA0B;IAC1B,OAAO,IAA0B,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"serialize-prisma-types.js","sourceRoot":"","sources":["../../src/utils/serialize-prisma-types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glasswork",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "A transparent, Lambda-optimized web framework for building OpenAPI-compliant REST APIs.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",