lemon-model 1.5.0 → 1.5.1

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.
@@ -17,8 +17,9 @@
17
17
  export const UPLOAD_STEREO = {
18
18
  image: 'image',
19
19
  video: 'video',
20
- sound: 'sound',
21
- docs: 'docs',
20
+ audio: 'audio',
21
+ /** any file that is not an image, video or audio */
22
+ file: 'file',
22
23
  };
23
24
  /** lifecycle of one upload as the client sees it. `url` is meaningful only when `stored` */
24
25
  export const UPLOAD_STATUS = {
@@ -68,17 +69,21 @@ export const UPLOAD_ROUTES = {
68
69
  complete: { method: 'POST', path: '/complete' },
69
70
  read: { method: 'GET', path: '/{id}' },
70
71
  };
71
- /** shared stereo derivation so an optimistic client tile and the server agree */
72
+ /**
73
+ * shared stereo derivation so an optimistic client tile and the server agree.
74
+ * - classifies by the top-level media type; any other non-empty type is `file`.
75
+ * - classification only: which types a server accepts is that server's own policy.
76
+ */
72
77
  export const uploadStereoOf = (contentType) => {
73
78
  const type = contentType.toLowerCase().split(';')[0].trim();
79
+ if (!type)
80
+ return undefined;
74
81
  if (type.startsWith('image/'))
75
82
  return UPLOAD_STEREO.image;
76
83
  if (type.startsWith('video/'))
77
84
  return UPLOAD_STEREO.video;
78
85
  if (type.startsWith('audio/'))
79
- return UPLOAD_STEREO.sound;
80
- if (type === 'application/pdf')
81
- return UPLOAD_STEREO.docs;
82
- return undefined;
86
+ return UPLOAD_STEREO.audio;
87
+ return UPLOAD_STEREO.file;
83
88
  };
84
89
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/upload/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACN,CAAC;AAGX,4FAA4F;AAC5F,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,2DAA2D;IAC3D,OAAO,EAAE,SAAS;IAClB,oCAAoC;IACpC,MAAM,EAAE,QAAQ;IAChB,oDAAoD;IACpD,MAAM,EAAE,QAAQ;CACV,CAAC;AAGX,wGAAwG;AACxG,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,0DAA0D;IAC1D,MAAM,EAAE,QAAQ;IAChB,4EAA4E;IAC5E,YAAY,EAAE,eAAe;CACvB,CAAC;AAoEX,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAA0B,EAAE,CACrE,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC;AA0E9G,6BAA6B;AAC7B,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC,4CAA4C;IAC5C,GAAG,EAAE,KAAK;IACV,kEAAkE;IAClE,OAAO,EAAE,SAAS;IAClB,sDAAsD;IACtD,MAAM,EAAE,QAAQ;CACV,CAAC;AAGX,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,gBAAgB;IAC/B,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACZ,CAAC;AA+CX,qGAAqG;AACrG,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;IAC5C,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IAC/C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;CAChC,CAAC;AAEX,iFAAiF;AACjF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAmB,EAA4B,EAAE;IAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,KAAK,iBAAiB;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IAC1D,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/upload/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,oDAAoD;IACpD,IAAI,EAAE,MAAM;CACN,CAAC;AAGX,4FAA4F;AAC5F,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,2DAA2D;IAC3D,OAAO,EAAE,SAAS;IAClB,oCAAoC;IACpC,MAAM,EAAE,QAAQ;IAChB,oDAAoD;IACpD,MAAM,EAAE,QAAQ;CACV,CAAC;AAGX,wGAAwG;AACxG,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,0DAA0D;IAC1D,MAAM,EAAE,QAAQ;IAChB,4EAA4E;IAC5E,YAAY,EAAE,eAAe;CACvB,CAAC;AAoEX,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAA0B,EAAE,CACrE,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC;AA0E9G,6BAA6B;AAC7B,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC,4CAA4C;IAC5C,GAAG,EAAE,KAAK;IACV,kEAAkE;IAClE,OAAO,EAAE,SAAS;IAClB,sDAAsD;IACtD,MAAM,EAAE,QAAQ;CACV,CAAC;AAGX,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,gBAAgB;IAC/B,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACZ,CAAC;AA+CX,qGAAqG;AACrG,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;IAC5C,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IAC/C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;CAChC,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAmB,EAA4B,EAAE;IAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAC1D,OAAO,aAAa,CAAC,IAAI,CAAC;AAC9B,CAAC,CAAC"}
@@ -17,8 +17,9 @@
17
17
  export declare const UPLOAD_STEREO: {
18
18
  readonly image: "image";
19
19
  readonly video: "video";
20
- readonly sound: "sound";
21
- readonly docs: "docs";
20
+ readonly audio: "audio";
21
+ /** any file that is not an image, video or audio */
22
+ readonly file: "file";
22
23
  };
23
24
  export declare type UploadStereo = typeof UPLOAD_STEREO[keyof typeof UPLOAD_STEREO];
24
25
  /** lifecycle of one upload as the client sees it. `url` is meaningful only when `stored` */
@@ -250,5 +251,9 @@ export declare const UPLOAD_ROUTES: {
250
251
  readonly path: "/{id}";
251
252
  };
252
253
  };
253
- /** shared stereo derivation so an optimistic client tile and the server agree */
254
+ /**
255
+ * shared stereo derivation so an optimistic client tile and the server agree.
256
+ * - classifies by the top-level media type; any other non-empty type is `file`.
257
+ * - classification only: which types a server accepts is that server's own policy.
258
+ */
254
259
  export declare const uploadStereoOf: (contentType: string) => UploadStereo | undefined;
@@ -20,8 +20,9 @@ exports.uploadStereoOf = exports.UPLOAD_ROUTES = exports.UPLOAD_FAILURE_CODE = e
20
20
  exports.UPLOAD_STEREO = {
21
21
  image: 'image',
22
22
  video: 'video',
23
- sound: 'sound',
24
- docs: 'docs',
23
+ audio: 'audio',
24
+ /** any file that is not an image, video or audio */
25
+ file: 'file',
25
26
  };
26
27
  /** lifecycle of one upload as the client sees it. `url` is meaningful only when `stored` */
27
28
  exports.UPLOAD_STATUS = {
@@ -72,18 +73,22 @@ exports.UPLOAD_ROUTES = {
72
73
  complete: { method: 'POST', path: '/complete' },
73
74
  read: { method: 'GET', path: '/{id}' },
74
75
  };
75
- /** shared stereo derivation so an optimistic client tile and the server agree */
76
+ /**
77
+ * shared stereo derivation so an optimistic client tile and the server agree.
78
+ * - classifies by the top-level media type; any other non-empty type is `file`.
79
+ * - classification only: which types a server accepts is that server's own policy.
80
+ */
76
81
  const uploadStereoOf = (contentType) => {
77
82
  const type = contentType.toLowerCase().split(';')[0].trim();
83
+ if (!type)
84
+ return undefined;
78
85
  if (type.startsWith('image/'))
79
86
  return exports.UPLOAD_STEREO.image;
80
87
  if (type.startsWith('video/'))
81
88
  return exports.UPLOAD_STEREO.video;
82
89
  if (type.startsWith('audio/'))
83
- return exports.UPLOAD_STEREO.sound;
84
- if (type === 'application/pdf')
85
- return exports.UPLOAD_STEREO.docs;
86
- return undefined;
90
+ return exports.UPLOAD_STEREO.audio;
91
+ return exports.UPLOAD_STEREO.file;
87
92
  };
88
93
  exports.uploadStereoOf = uploadStereoOf;
89
94
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/upload/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,6BAA6B;AAChB,QAAA,aAAa,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACN,CAAC;AAGX,4FAA4F;AAC/E,QAAA,aAAa,GAAG;IACzB,2DAA2D;IAC3D,OAAO,EAAE,SAAS;IAClB,oCAAoC;IACpC,MAAM,EAAE,QAAQ;IAChB,oDAAoD;IACpD,MAAM,EAAE,QAAQ;CACV,CAAC;AAGX,wGAAwG;AAC3F,QAAA,oBAAoB,GAAG;IAChC,0DAA0D;IAC1D,MAAM,EAAE,QAAQ;IAChB,4EAA4E;IAC5E,YAAY,EAAE,eAAe;CACvB,CAAC;AAoEJ,MAAM,cAAc,GAAG,CAAC,MAAc,EAA0B,EAAE,CACrE,MAAM,CAAC,MAAM,KAAK,qBAAa,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC;AADjG,QAAA,cAAc,kBACmF;AA0E9G,6BAA6B;AAChB,QAAA,qBAAqB,GAAG;IACjC,4CAA4C;IAC5C,GAAG,EAAE,KAAK;IACV,kEAAkE;IAClE,OAAO,EAAE,SAAS;IAClB,sDAAsD;IACtD,MAAM,EAAE,QAAQ;CACV,CAAC;AAGX,oFAAoF;AACvE,QAAA,mBAAmB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,gBAAgB;IAC/B,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACZ,CAAC;AA+CX,qGAAqG;AACxF,QAAA,aAAa,GAAG;IACzB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;IAC5C,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IAC/C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;CAChC,CAAC;AAEX,iFAAiF;AAC1E,MAAM,cAAc,GAAG,CAAC,WAAmB,EAA4B,EAAE;IAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,qBAAa,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,qBAAa,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,qBAAa,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,KAAK,iBAAiB;QAAE,OAAO,qBAAa,CAAC,IAAI,CAAC;IAC1D,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/upload/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,6BAA6B;AAChB,QAAA,aAAa,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,oDAAoD;IACpD,IAAI,EAAE,MAAM;CACN,CAAC;AAGX,4FAA4F;AAC/E,QAAA,aAAa,GAAG;IACzB,2DAA2D;IAC3D,OAAO,EAAE,SAAS;IAClB,oCAAoC;IACpC,MAAM,EAAE,QAAQ;IAChB,oDAAoD;IACpD,MAAM,EAAE,QAAQ;CACV,CAAC;AAGX,wGAAwG;AAC3F,QAAA,oBAAoB,GAAG;IAChC,0DAA0D;IAC1D,MAAM,EAAE,QAAQ;IAChB,4EAA4E;IAC5E,YAAY,EAAE,eAAe;CACvB,CAAC;AAoEJ,MAAM,cAAc,GAAG,CAAC,MAAc,EAA0B,EAAE,CACrE,MAAM,CAAC,MAAM,KAAK,qBAAa,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC;AADjG,QAAA,cAAc,kBACmF;AA0E9G,6BAA6B;AAChB,QAAA,qBAAqB,GAAG;IACjC,4CAA4C;IAC5C,GAAG,EAAE,KAAK;IACV,kEAAkE;IAClE,OAAO,EAAE,SAAS;IAClB,sDAAsD;IACtD,MAAM,EAAE,QAAQ;CACV,CAAC;AAGX,oFAAoF;AACvE,QAAA,mBAAmB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,gBAAgB;IAC/B,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACZ,CAAC;AA+CX,qGAAqG;AACxF,QAAA,aAAa,GAAG;IACzB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;IAC5C,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IAC/C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;CAChC,CAAC;AAEX;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,WAAmB,EAA4B,EAAE;IAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,qBAAa,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,qBAAa,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,qBAAa,CAAC,KAAK,CAAC;IAC1D,OAAO,qBAAa,CAAC,IAAI,CAAC;AAC9B,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lemon-model",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "description": "Common shared model definitions for Lemon Micro-Service Platform",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/esm/index.js",