@bbn/bbn 2.0.48 → 2.0.50

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.
@@ -0,0 +1,6 @@
1
+ import { Temporal } from 'temporal-polyfill';
2
+ export default class bbnDtDateTime {
3
+ #private;
4
+ constructor(y: number, m: number, d: number, h: number, i: number, s: number, ms?: number);
5
+ get value(): Temporal.PlainDateTime;
6
+ }
@@ -0,0 +1,25 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _bbnDtDateTime_value;
13
+ import { Temporal } from 'temporal-polyfill';
14
+ class bbnDtDateTime {
15
+ constructor(y, m, d, h, i, s, ms = 0) {
16
+ _bbnDtDateTime_value.set(this, void 0);
17
+ __classPrivateFieldSet(this, _bbnDtDateTime_value, new Temporal.PlainDateTime(y, m, d, h, i, s, ms), "f");
18
+ }
19
+ get value() {
20
+ return __classPrivateFieldGet(this, _bbnDtDateTime_value, "f");
21
+ }
22
+ }
23
+ _bbnDtDateTime_value = new WeakMap();
24
+ export default bbnDtDateTime;
25
+ ;
@@ -8,8 +8,10 @@ const MYSQL_AND_NATIVE_FORMATS = [
8
8
  // Date + time
9
9
  'YYYY-MM-DD HH:II:SS.ms',
10
10
  'YYYY-MM-DD HH:II:SS',
11
+ 'YYYY-MM-DD HH:II',
11
12
  // Time only
12
13
  'HH:II:SS',
14
+ 'HH:II',
13
15
  // --- ISO 8601 / JS toISOString() ---
14
16
  // 2025-11-22T14:30:00.123Z
15
17
  'YYYY-MM-DDTHH:II:SS.msZ',
package/dist/dt.d.ts CHANGED
@@ -1,7 +1,8 @@
1
+ import bbnDtDateTime from './dt/classes/dateTime.js';
1
2
  import parse from './dt/functions/parse.js';
2
3
  import guessFormat from './dt/functions/guessFormat.js';
3
4
  declare const dt: {
4
- (value: any, inputFormat?: null | String): void;
5
+ (value: any, inputFormat?: null | String): bbnDtDateTime;
5
6
  locales: any;
6
7
  parse: typeof parse;
7
8
  guessFormat: typeof guessFormat;
package/dist/dt.js CHANGED
@@ -1,3 +1,7 @@
1
+ import bbnDtDateTime from './dt/classes/dateTime.js';
2
+ import _ from './_.js';
3
+ import isDate from './fn/type/isDate.js';
4
+ import isPrimitive from './fn/type/isPrimitive.js';
1
5
  import parse from './dt/functions/parse.js';
2
6
  import guessFormat from './dt/functions/guessFormat.js';
3
7
  const patterns = [
@@ -189,6 +193,38 @@ const unitsCorrespondence = {
189
193
  'w': 'w'
190
194
  };
191
195
  const dt = (value, inputFormat = null) => {
196
+ let v;
197
+ if (!value) {
198
+ const d = new Date();
199
+ return new bbnDtDateTime(d.getFullYear(), d.getMonth() + 1, d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds());
200
+ }
201
+ if (typeof value === 'string') {
202
+ if (inputFormat) {
203
+ v = parse(value, inputFormat);
204
+ }
205
+ else {
206
+ const format = guessFormat(value);
207
+ if (format) {
208
+ v = parse(value, format);
209
+ }
210
+ else {
211
+ throw new Error(_('Could not guess the date format for value: %s', value));
212
+ }
213
+ }
214
+ }
215
+ else {
216
+ if (typeof value === 'number') {
217
+ const d = new Date(value);
218
+ v = new bbnDtDateTime(d.getFullYear(), d.getMonth() + 1, d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds());
219
+ }
220
+ else if (isDate(value)) {
221
+ const d = value;
222
+ v = new bbnDtDateTime(d.getFullYear(), d.getMonth() + 1, d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds());
223
+ }
224
+ else if (isPrimitive(value)) {
225
+ throw new Error(_('Invalid date value: %s', value));
226
+ }
227
+ }
192
228
  };
193
229
  dt.locales = Object.create(null);
194
230
  dt.parse = parse;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bbn/bbn",
3
- "version": "2.0.48",
3
+ "version": "2.0.50",
4
4
  "description": "Javascript toolkit",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",