sonamu 0.2.10 → 0.2.12

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":"caster.d.ts","sourceRoot":"","sources":["../../src/api/caster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,wBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAsC7D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;;;;;;YAIrD"}
1
+ {"version":3,"file":"caster.d.ts","sourceRoot":"","sources":["../../src/api/caster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,wBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CA8C7D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;;;;;;YAIrD"}
@@ -47,7 +47,9 @@ function caster(zodType, raw) {
47
47
  // array
48
48
  return raw.map((elem) => caster(zodType.element, elem));
49
49
  }
50
- else if (zodType instanceof zod_1.z.ZodObject && typeof raw === "object") {
50
+ else if (zodType instanceof zod_1.z.ZodObject &&
51
+ typeof raw === "object" &&
52
+ raw !== null) {
51
53
  // object
52
54
  return Object.keys(raw).reduce((r, rawKey) => {
53
55
  r[rawKey] = caster(zodType.shape[rawKey], raw[rawKey]);
@@ -55,6 +57,11 @@ function caster(zodType, raw) {
55
57
  }, {});
56
58
  }
57
59
  else if (zodType instanceof zod_1.z.ZodOptional) {
60
+ // optional
61
+ return caster(zodType._def.innerType, raw);
62
+ }
63
+ else if (zodType instanceof zod_1.z.ZodNullable) {
64
+ // nullable
58
65
  return caster(zodType._def.innerType, raw);
59
66
  }
60
67
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"caster.js","sourceRoot":"","sources":["../../src/api/caster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"caster.js","sourceRoot":"","sources":["../../src/api/caster.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,uCAAuC;AACvC,SAAS,iBAAiB,CAAC,OAAuB;IAChD,IAAI,OAAO,YAAY,OAAC,CAAC,SAAS,EAAE;QAClC,OAAO,IAAI,CAAC;KACb;SAAM,IACL,OAAO,YAAY,OAAC,CAAC,WAAW;QAChC,OAAO,CAAC,IAAI,CAAC,SAAS,YAAY,OAAC,CAAC,SAAS,EAC7C;QACA,OAAO,IAAI,CAAC;KACb;SAAM,IACL,OAAO,YAAY,OAAC,CAAC,WAAW;QAChC,OAAO,CAAC,IAAI,CAAC,SAAS,YAAY,OAAC,CAAC,SAAS,EAC7C;KACD;SAAM,IACL,OAAO,YAAY,OAAC,CAAC,WAAW;QAChC,OAAO,CAAC,IAAI,CAAC,SAAS,YAAY,OAAC,CAAC,WAAW;QAC/C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,YAAY,OAAC,CAAC,SAAS,EAClD;QACA,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kCAAkC;AAClC,SAAgB,MAAM,CAAC,OAAuB,EAAE,GAAQ;IACtD,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACzD,SAAS;QACT,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;KACpB;SAAM,IACL,OAAO,YAAY,OAAC,CAAC,QAAQ;QAC7B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAmB,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EACrE;QACA,2BAA2B;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAClC,CAAC,GAAmB,EAAE,EAAE,CAAC,GAAG,YAAY,OAAC,CAAC,SAAS,CACpD,CAAC;YACF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;SACtD;aAAM;YACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;SACpB;KACF;SAAM,IACL,OAAO,YAAY,OAAC,CAAC,UAAU;QAC/B,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAAC,EACnC;QACA,UAAU;QACV,OAAO,GAAG,KAAK,MAAM,CAAC;KACvB;SAAM,IAAI,OAAO,YAAY,OAAC,CAAC,QAAQ,EAAE;QACxC,QAAQ;QACR,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;KAC9D;SAAM,IACL,OAAO,YAAY,OAAC,CAAC,SAAS;QAC9B,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI,EACZ;QACA,SAAS;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC3C,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC;QACX,CAAC,EAAE,EAAS,CAAC,CAAC;KACf;SAAM,IAAI,OAAO,YAAY,OAAC,CAAC,WAAW,EAAE;QAC3C,WAAW;QACX,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;KAC5C;SAAM,IAAI,OAAO,YAAY,OAAC,CAAC,WAAW,EAAE;QAC3C,WAAW;QACX,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;KAC5C;SAAM;QACL,aAAa;QACb,OAAO,GAAG,CAAC;KACZ;AACH,CAAC;AA9CD,wBA8CC;AAED,SAAgB,aAAa,CAAC,MAAwB;IACpD,OAAO,OAAC,CAAC,UAAU,CAAC,CAAC,GAAQ,EAAE,EAAE;QAC/B,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC;AAJD,sCAIC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sonamu",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "Sonamu — TypeScript Fullstack API Framework",
5
5
  "keywords": [
6
6
  "typescript",
package/src/api/caster.ts CHANGED
@@ -51,13 +51,21 @@ export function caster(zodType: z.ZodType<any>, raw: any): any {
51
51
  } else if (zodType instanceof z.ZodArray) {
52
52
  // array
53
53
  return raw.map((elem: any) => caster(zodType.element, elem));
54
- } else if (zodType instanceof z.ZodObject && typeof raw === "object") {
54
+ } else if (
55
+ zodType instanceof z.ZodObject &&
56
+ typeof raw === "object" &&
57
+ raw !== null
58
+ ) {
55
59
  // object
56
60
  return Object.keys(raw).reduce((r, rawKey) => {
57
61
  r[rawKey] = caster(zodType.shape[rawKey], raw[rawKey]);
58
62
  return r;
59
63
  }, {} as any);
60
64
  } else if (zodType instanceof z.ZodOptional) {
65
+ // optional
66
+ return caster(zodType._def.innerType, raw);
67
+ } else if (zodType instanceof z.ZodNullable) {
68
+ // nullable
61
69
  return caster(zodType._def.innerType, raw);
62
70
  } else {
63
71
  // 나머지는 처리 안함