recordbase 0.1.1 → 0.2.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.
- package/dist/grid/GoogleGridProvider.d.ts +6 -1
- package/dist/grid/GoogleGridProvider.d.ts.map +1 -1
- package/dist/grid/GoogleGridProvider.js +17 -2
- package/dist/grid/GoogleGridProvider.js.map +1 -1
- package/dist/helpers/index.d.ts +4 -3
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +12 -5
- package/dist/helpers/index.js.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/record/RecordFields.d.ts +22 -7
- package/dist/record/RecordFields.d.ts.map +1 -1
- package/dist/record/RecordFields.js +119 -31
- package/dist/record/RecordFields.js.map +1 -1
- package/dist/record/RecordSchema.d.ts +5 -0
- package/dist/record/RecordSchema.d.ts.map +1 -1
- package/dist/record/RecordSchema.js +7 -2
- package/dist/record/RecordSchema.js.map +1 -1
- package/dist/record/RecordTable.d.ts.map +1 -1
- package/dist/record/RecordTable.js +2 -1
- package/dist/record/RecordTable.js.map +1 -1
- package/package.json +6 -2
|
@@ -4,9 +4,14 @@ import { GridRange } from "./GridAddress";
|
|
|
4
4
|
import { GridReadBlock } from "./GridBlock";
|
|
5
5
|
import { GridProvider, GridWriteRequest, GridWriteResults } from "./GridProvider";
|
|
6
6
|
export type GoogleApi = sheets_v4.Sheets;
|
|
7
|
+
export type GoogleApiCredentials = {
|
|
8
|
+
email: string;
|
|
9
|
+
key: string;
|
|
10
|
+
};
|
|
11
|
+
export type GoogleApiSource = Resolvable<GoogleApi> | GoogleApiCredentials;
|
|
7
12
|
export type GoogleGridProviderOptions = {
|
|
8
13
|
id: string;
|
|
9
|
-
api:
|
|
14
|
+
api: GoogleApiSource;
|
|
10
15
|
handlers?: ExecutorHandler | GoogleGridProviderHandlerOptions;
|
|
11
16
|
};
|
|
12
17
|
export type GoogleGridProviderHandlerOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGridProvider.d.ts","sourceRoot":"","sources":["../../src/grid/GoogleGridProvider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GoogleGridProvider.d.ts","sourceRoot":"","sources":["../../src/grid/GoogleGridProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAW,eAAe,EAAc,UAAU,EAAgB,MAAM,SAAS,CAAC;AACzF,OAAO,EAA+B,SAAS,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAa,aAAa,EAA6B,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlF,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;AASzC,MAAM,MAAM,oBAAoB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;CAAE,CAAC;AAEnE,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC;AAgG3E,MAAM,MAAM,yBAAyB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,eAAe,CAAC;IACrB,QAAQ,CAAC,EAAE,eAAe,GAAG,gCAAgC,CAAC;CACjE,CAAC;AAGF,MAAM,MAAM,gCAAgC,GAAG;IAC3C,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,IAAI,CAAC,EAAE,eAAe,CAAC;CAC1B,CAAC;AA6FF,qBAAa,kBAAmB,YAAW,YAAY;;gBAQvC,OAAO,EAAE,yBAAyB;IAcxC,IAAI,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4L5D,KAAK,CAAC,KAAK,CAAC,QAAQ,SAAS,SAAS,gBAAgB,EAAE,EAC1D,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAWtC,UAAU,IAAI,IAAI;CAGrB"}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GoogleGridProvider = void 0;
|
|
4
|
+
const sheets_1 = require("@googleapis/sheets");
|
|
4
5
|
const util_1 = require("../util");
|
|
5
6
|
const GridAddress_1 = require("./GridAddress");
|
|
6
7
|
const GridBlock_1 = require("./GridBlock");
|
|
7
|
-
|
|
8
|
+
const isGoogleApiCredentials = (source) => typeof source === 'object' && source !== null &&
|
|
9
|
+
'email' in source && 'key' in source;
|
|
10
|
+
const createGoogleApi = async ({ email, key }) => {
|
|
11
|
+
const client = await sheets_1.auth.getClient({
|
|
12
|
+
credentials: {
|
|
13
|
+
client_email: email,
|
|
14
|
+
private_key: key
|
|
15
|
+
},
|
|
16
|
+
scopes: ['https://www.googleapis.com/auth/spreadsheets']
|
|
17
|
+
});
|
|
18
|
+
return (0, sheets_1.sheets)({ version: 'v4', auth: client });
|
|
19
|
+
};
|
|
8
20
|
const encodeGridName = (name) => `'${name.replaceAll("'", "''")}'`;
|
|
9
21
|
const dateToSerialNumber = (date) => {
|
|
10
22
|
const epoch = new Date(1899, 11, 30);
|
|
@@ -119,7 +131,10 @@ class GoogleGridProvider {
|
|
|
119
131
|
#sheetIds;
|
|
120
132
|
constructor(options) {
|
|
121
133
|
this.#id = options.id;
|
|
122
|
-
|
|
134
|
+
const source = options.api;
|
|
135
|
+
this.#api = (0, util_1.lazy)(isGoogleApiCredentials(source)
|
|
136
|
+
? () => createGoogleApi(source)
|
|
137
|
+
: source);
|
|
123
138
|
this.#handlers = resolveHandlers(options.handlers);
|
|
124
139
|
}
|
|
125
140
|
async read(ranges) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGridProvider.js","sourceRoot":"","sources":["../../src/grid/GoogleGridProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GoogleGridProvider.js","sourceRoot":"","sources":["../../src/grid/GoogleGridProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { RecordBook } from '../record/RecordBook';
|
|
2
|
-
import { RecordField, RecordFieldBuilder, RecordGroupBuilder, RecordProcessor, RecordSchema } from '../record/RecordSchema';
|
|
2
|
+
import { RecordField, RecordFieldBuilder, RecordGroupBuilder, RecordGroupFactory, RecordProcessor, RecordSchema } from '../record/RecordSchema';
|
|
3
3
|
import { RecordStore } from '../record/RecordStore';
|
|
4
4
|
import { RecordTable } from '../record/RecordTable';
|
|
5
5
|
export declare const book: <const Tables extends readonly RecordTable<any, RecordSchema>[]>(store: RecordStore<Tables>) => RecordBook<Tables>;
|
|
6
6
|
export declare const table: <const Name extends string, const Schema extends RecordSchema>(name: Name, schema: Schema) => RecordTable<Name, Schema>;
|
|
7
|
-
export declare
|
|
7
|
+
export declare function group<const Fields extends RecordField<any, any, any>[]>(fields: Fields): RecordGroupFactory<Fields>;
|
|
8
|
+
export declare function group<const Name extends string, const Fields extends RecordField<any, any, any>[]>(name: Name, fields: Fields): RecordGroupBuilder<Name, Fields, false>;
|
|
8
9
|
export declare const field: <const Name extends string, Type>(name: Name, processor: RecordProcessor<Type>) => RecordFieldBuilder<Name, Type, false>;
|
|
9
|
-
export { booleanField as boolean, numberField as number, currencyField as currency, percentField as percent,
|
|
10
|
+
export { booleanField as boolean, numberField as number, stringField as string, dateField as date, datetimeField as datetime, currencyField as currency, percentField as percent, enumField as enum, emailField as email, phoneField as phone, } from '../record/RecordFields';
|
|
10
11
|
export * as grid from './grid';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAY,MAAM,wBAAwB,CAAC;AAC1J,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,eAAO,MAAM,IAAI,GAAI,KAAK,CAAC,MAAM,SAAS,SAAS,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,MAAM,CAAC,uBACtF,CAAC;AAE1B,eAAO,MAAM,KAAK,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,CAAC,MAAM,SAAS,YAAY,EAAE,MAAM,IAAI,EAAE,QAAQ,MAAM,8BAC7E,CAAC;AAElC,wBAAgB,KAAK,CAAC,KAAK,CAAC,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACrH,wBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,CAAC,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAC9F,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAczE,eAAO,MAAM,KAAK,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,WAAW,eAAe,CAAC,IAAI,CAAC,0CACL,CAAC;AAE/F,OAAO,EACH,YAAY,IAAI,OAAO,EACvB,WAAW,IAAI,MAAM,EACrB,WAAW,IAAI,MAAM,EACrB,SAAS,IAAI,IAAI,EACjB,aAAa,IAAI,QAAQ,EACzB,aAAa,IAAI,QAAQ,EACzB,YAAY,IAAI,OAAO,EACvB,SAAS,IAAI,IAAI,EACjB,UAAU,IAAI,KAAK,EACnB,UAAU,IAAI,KAAK,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
|
package/dist/helpers/index.js
CHANGED
|
@@ -33,7 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.grid = exports.
|
|
36
|
+
exports.grid = exports.phone = exports.email = exports.enum = exports.percent = exports.currency = exports.datetime = exports.date = exports.string = exports.number = exports.boolean = exports.field = exports.table = exports.book = void 0;
|
|
37
|
+
exports.group = group;
|
|
37
38
|
const RecordBook_1 = require("../record/RecordBook");
|
|
38
39
|
const RecordSchema_1 = require("../record/RecordSchema");
|
|
39
40
|
const RecordTable_1 = require("../record/RecordTable");
|
|
@@ -41,18 +42,24 @@ const book = (store) => new RecordBook_1.RecordBook(store);
|
|
|
41
42
|
exports.book = book;
|
|
42
43
|
const table = (name, schema) => new RecordTable_1.RecordTable(name, schema);
|
|
43
44
|
exports.table = table;
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
function group(nameOrFields, fields) {
|
|
46
|
+
if (typeof nameOrFields === 'string')
|
|
47
|
+
return new RecordSchema_1.RecordGroupBuilder(nameOrFields, false, fields);
|
|
48
|
+
const factory = (name) => new RecordSchema_1.RecordGroupBuilder(name, false, nameOrFields);
|
|
49
|
+
return Object.defineProperty(factory, 'type', { get: RecordSchema_1.typeOnly });
|
|
50
|
+
}
|
|
46
51
|
const field = (name, processor) => new RecordSchema_1.RecordFieldBuilder(name, false, processor.validate, processor.parse, processor.encode);
|
|
47
52
|
exports.field = field;
|
|
48
53
|
var RecordFields_1 = require("../record/RecordFields");
|
|
49
54
|
Object.defineProperty(exports, "boolean", { enumerable: true, get: function () { return RecordFields_1.booleanField; } });
|
|
50
55
|
Object.defineProperty(exports, "number", { enumerable: true, get: function () { return RecordFields_1.numberField; } });
|
|
56
|
+
Object.defineProperty(exports, "string", { enumerable: true, get: function () { return RecordFields_1.stringField; } });
|
|
57
|
+
Object.defineProperty(exports, "date", { enumerable: true, get: function () { return RecordFields_1.dateField; } });
|
|
58
|
+
Object.defineProperty(exports, "datetime", { enumerable: true, get: function () { return RecordFields_1.datetimeField; } });
|
|
51
59
|
Object.defineProperty(exports, "currency", { enumerable: true, get: function () { return RecordFields_1.currencyField; } });
|
|
52
60
|
Object.defineProperty(exports, "percent", { enumerable: true, get: function () { return RecordFields_1.percentField; } });
|
|
53
|
-
Object.defineProperty(exports, "string", { enumerable: true, get: function () { return RecordFields_1.stringField; } });
|
|
54
61
|
Object.defineProperty(exports, "enum", { enumerable: true, get: function () { return RecordFields_1.enumField; } });
|
|
62
|
+
Object.defineProperty(exports, "email", { enumerable: true, get: function () { return RecordFields_1.emailField; } });
|
|
55
63
|
Object.defineProperty(exports, "phone", { enumerable: true, get: function () { return RecordFields_1.phoneField; } });
|
|
56
|
-
Object.defineProperty(exports, "date", { enumerable: true, get: function () { return RecordFields_1.dateField; } });
|
|
57
64
|
exports.grid = __importStar(require("./grid"));
|
|
58
65
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,sBAWC;AAzBD,qDAAkD;AAClD,yDAA0J;AAE1J,uDAAoD;AAE7C,MAAM,IAAI,GAAG,CAAiE,KAA0B,EAAE,EAAE,CAC/G,IAAI,uBAAU,CAAC,KAAK,CAAC,CAAC;AADb,QAAA,IAAI,QACS;AAEnB,MAAM,KAAK,GAAG,CAA+D,IAAU,EAAE,MAAc,EAAE,EAAE,CAC9G,IAAI,yBAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AADrB,QAAA,KAAK,SACgB;AAKlC,SAAgB,KAAK,CACjB,YAAmD,EACnD,MAAqC;IAErC,IAAI,OAAO,YAAY,KAAK,QAAQ;QAChC,OAAO,IAAI,iCAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,MAAO,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7B,IAAI,iCAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,uBAAQ,EAAE,CAAC,CAAC;AACrE,CAAC;AAEM,MAAM,KAAK,GAAG,CAAkC,IAAU,EAAE,SAAgC,EAAE,EAAE,CACnG,IAAI,iCAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AADlF,QAAA,KAAK,SAC6E;AAE/F,uDAWgC;AAV5B,uGAAA,YAAY,OAAW;AACvB,sGAAA,WAAW,OAAU;AACrB,sGAAA,WAAW,OAAU;AACrB,oGAAA,SAAS,OAAQ;AACjB,wGAAA,aAAa,OAAY;AACzB,wGAAA,aAAa,OAAY;AACzB,uGAAA,YAAY,OAAW;AACvB,oGAAA,SAAS,OAAQ;AACjB,qGAAA,UAAU,OAAS;AACnB,qGAAA,UAAU,OAAS;AAGvB,+CAA+B"}
|
package/dist/index.js
CHANGED
|
@@ -41,4 +41,12 @@ __exportStar(require("./record"), exports);
|
|
|
41
41
|
__exportStar(require("./util"), exports);
|
|
42
42
|
__exportStar(require("./grid"), exports);
|
|
43
43
|
exports.rb = __importStar(require("./helpers"));
|
|
44
|
+
const log = (label, result, expected) => {
|
|
45
|
+
const matched = result.success === expected;
|
|
46
|
+
console.log(`\x1b[35m${label.padStart(35)}\x1b[0m \x1b[40m` +
|
|
47
|
+
(matched ? '\x1b[32m✓\x1b[0m' : '\x1b[31m✗\x1b[0m') + ' ' +
|
|
48
|
+
(result.success
|
|
49
|
+
? `\x1b[32msuccess:\x1b[0m \x1b[33m${result.value}\x1b[0m`
|
|
50
|
+
: `\x1b[31mfailure:\x1b[0m \x1b[36m${result.info}\x1b[0m`));
|
|
51
|
+
};
|
|
44
52
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB;AAEvB,gDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB;AAEvB,gDAAgC;AAKhC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,MAAwB,EAAE,QAAiB,EAAE,EAAE;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC;IAE5C,OAAO,CAAC,GAAG,CACP,WAAW,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB;QAChD,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,IAAI;QAC1D,CAAC,MAAM,CAAC,OAAO;YACX,CAAC,CAAC,mCAAmC,MAAM,CAAC,KAAK,SAAS;YAC1D,CAAC,CAAC,mCAAmC,MAAM,CAAC,IAAI,SAAS,CAAC,CACjE,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,15 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
1
|
+
import { DateTime } from 'luxon';
|
|
2
|
+
import { RecordFieldBuilder } from "./RecordSchema";
|
|
3
|
+
import { IsEmailOptions } from 'validator/lib/isEmail';
|
|
4
|
+
import { IsURLOptions } from 'validator';
|
|
5
|
+
export declare const booleanField: <const Name extends string>(name: Name) => RecordFieldBuilder<Name, boolean, false>;
|
|
6
|
+
export declare const numberField: <const Name extends string>(name: Name) => RecordFieldBuilder<Name, number, false>;
|
|
7
|
+
export declare const integerField: <const Name extends string>(name: Name) => RecordFieldBuilder<Name, number, false>;
|
|
8
|
+
export declare const bigintField: <const Name extends string>(name: Name) => RecordFieldBuilder<Name, bigint, false>;
|
|
9
|
+
export declare const stringField: <const Name extends string>(name: Name) => RecordFieldBuilder<Name, string, false>;
|
|
10
|
+
export declare const dateField: <const Name extends string>(name: Name) => RecordFieldBuilder<Name, Date, false>;
|
|
11
|
+
export type DateTimeOptions = {
|
|
12
|
+
formats?: readonly string[];
|
|
13
|
+
locale?: string;
|
|
14
|
+
zone?: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const datetimeField: <const Name extends string>(name: Name, options?: DateTimeOptions) => RecordFieldBuilder<Name, DateTime<boolean>, false>;
|
|
17
|
+
export declare const currencyField: <const Name extends string>(name: Name) => RecordFieldBuilder<Name, number, false>;
|
|
18
|
+
export declare const percentField: <const Name extends string>(name: Name) => RecordFieldBuilder<Name, number, false>;
|
|
7
19
|
export declare const enumField: <const Name extends string, const Enum extends readonly string[]>(name: Name, values: Enum, caseSensitive?: boolean) => RecordFieldBuilder<Name, string, false>;
|
|
20
|
+
export type EmailOptions = IsEmailOptions;
|
|
21
|
+
export declare const emailField: <const Name extends string>(name: Name, options?: EmailOptions) => RecordFieldBuilder<Name, string, false>;
|
|
22
|
+
export type UrlOptions = IsURLOptions;
|
|
23
|
+
export declare const urlField: <const Name extends string>(name: Name, options?: UrlOptions) => RecordFieldBuilder<Name, string, false>;
|
|
8
24
|
export type PhoneFormatter = (phone: {
|
|
9
25
|
area: string;
|
|
10
26
|
start: string;
|
|
11
27
|
end: string;
|
|
12
28
|
}) => string;
|
|
13
29
|
export declare const phoneField: <const Name extends string>(name: Name, format?: PhoneFormatter) => RecordFieldBuilder<Name, string, false>;
|
|
14
|
-
export declare const dateField: <const Name extends string>(name: Name, parser?: RecordParser<Date>) => RecordFieldBuilder<Name, Date, false>;
|
|
15
30
|
//# sourceMappingURL=RecordFields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordFields.d.ts","sourceRoot":"","sources":["../../src/record/RecordFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RecordFields.d.ts","sourceRoot":"","sources":["../../src/record/RecordFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAwCzC,eAAO,MAAM,YAAY,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,6CAO7D,CAAC;AAEN,eAAO,MAAM,WAAW,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,4CAS5D,CAAC;AAEN,eAAO,MAAM,YAAY,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,4CAS7D,CAAC;AAEN,eAAO,MAAM,WAAW,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,4CAc5D,CAAC;AAEN,eAAO,MAAM,WAAW,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,4CAO5D,CAAC;AAKN,eAAO,MAAM,SAAS,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,0CAU1D,CAAC;AAGN,MAAM,MAAM,eAAe,GAAG;IAC1B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAyBF,eAAO,MAAM,aAAa,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EACnD,MAAM,IAAI,EACV,UAAS,eAAoB,uDAahC,CAAC;AAIF,eAAO,MAAM,aAAa,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,4CAuB9D,CAAC;AAEN,eAAO,MAAM,YAAY,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,4CAuB7D,CAAC;AAsBN,eAAO,MAAM,SAAS,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,CAAC,IAAI,SAAS,SAAS,MAAM,EAAE,EAAE,MAAM,IAAI,EAAE,QAAQ,IAAI,EAAE,gBAAe,OAAe,4CAIlJ,CAAC;AAIF,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC;AAM1C,eAAO,MAAM,UAAU,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,EAAE,UAAU,YAAY,4CAUvF,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AAMtC,eAAO,MAAM,QAAQ,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,EAAE,UAAU,UAAU,4CAUnF,CAAC;AAIF,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;CAAE,KAAK,MAAM,CAAC;AAyB9F,eAAO,MAAM,UAAU,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,EAAE,SAAS,cAAc,4CAIxF,CAAC"}
|
|
@@ -1,35 +1,119 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
6
|
+
exports.phoneField = exports.urlField = exports.emailField = exports.enumField = exports.percentField = exports.currencyField = exports.datetimeField = exports.dateField = exports.stringField = exports.bigintField = exports.integerField = exports.numberField = exports.booleanField = void 0;
|
|
7
|
+
const luxon_1 = require("luxon");
|
|
4
8
|
const RecordSchema_1 = require("./RecordSchema");
|
|
5
9
|
const util_1 = require("../util");
|
|
10
|
+
const isEmail_1 = __importDefault(require("validator/lib/isEmail"));
|
|
11
|
+
const isURL_1 = __importDefault(require("validator/lib/isURL"));
|
|
12
|
+
/* Helpers */
|
|
6
13
|
const expected = (received, ...expected) => util_1.Result.failure(`Expected ${expected.length === 1 ? expected[0] : expected.join('|')}, but received '${received}'`);
|
|
7
|
-
const
|
|
14
|
+
const numberPattern = /^[+-]?(?:(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i;
|
|
15
|
+
const parseNumber = (value) => {
|
|
16
|
+
const text = value.trim();
|
|
17
|
+
if (!numberPattern.test(text))
|
|
18
|
+
return expected(value, 'a number');
|
|
19
|
+
const parsed = Number(text.replaceAll(',', ''));
|
|
20
|
+
return Number.isFinite(parsed)
|
|
21
|
+
? util_1.Result.success(parsed)
|
|
22
|
+
: expected(value, 'a number');
|
|
23
|
+
};
|
|
24
|
+
const integerPattern = /^[+-]?(?:\d{1,3}(?:,\d{3})+|\d+)$/;
|
|
25
|
+
const parseInteger = (value) => {
|
|
26
|
+
const text = value.trim();
|
|
27
|
+
if (!integerPattern.test(text))
|
|
28
|
+
return expected(value, 'a safe integer');
|
|
29
|
+
const parsed = Number(text.replaceAll(',', ''));
|
|
30
|
+
return Number.isSafeInteger(parsed)
|
|
31
|
+
? util_1.Result.success(parsed)
|
|
32
|
+
: expected(value, 'a safe integer');
|
|
33
|
+
};
|
|
34
|
+
/* Primitive Fields */
|
|
35
|
+
const booleanField = (name) => new RecordSchema_1.RecordFieldBuilder(name, false, (value => typeof value === 'boolean' ? util_1.Result.success(value) : expected(value, 'a boolean')), (value => value === 'TRUE' ? util_1.Result.success(true) : value === 'FALSE' ? util_1.Result.success(false) : expected(value, 'TRUE', 'FALSE')), (value => value));
|
|
8
36
|
exports.booleanField = booleanField;
|
|
9
|
-
const numberField = (name
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
? expected(value, 'a number')
|
|
13
|
-
: util_1.Result.success(parsed);
|
|
14
|
-
}), processor?.encode ?? (value => value));
|
|
37
|
+
const numberField = (name) => new RecordSchema_1.RecordFieldBuilder(name, false, value => typeof value === 'number' && Number.isFinite(value)
|
|
38
|
+
? util_1.Result.success(value)
|
|
39
|
+
: expected(value, 'a number'), parseNumber, value => value);
|
|
15
40
|
exports.numberField = numberField;
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
41
|
+
const integerField = (name) => new RecordSchema_1.RecordFieldBuilder(name, false, value => typeof value === 'number' && Number.isSafeInteger(value)
|
|
42
|
+
? util_1.Result.success(value)
|
|
43
|
+
: expected(value, 'a safe integer'), parseInteger, value => value);
|
|
44
|
+
exports.integerField = integerField;
|
|
45
|
+
const bigintField = (name) => new RecordSchema_1.RecordFieldBuilder(name, false, value => typeof value === 'bigint'
|
|
46
|
+
? util_1.Result.success(value)
|
|
47
|
+
: expected(value, 'a bigint'), value => {
|
|
48
|
+
if (typeof value !== 'string' || !integerPattern.test(value.trim()))
|
|
49
|
+
return expected(value, 'a bigint');
|
|
50
|
+
return util_1.Result.success(BigInt(value.trim().replaceAll(',', '')));
|
|
51
|
+
}, value => value == null ? value : value.toString());
|
|
52
|
+
exports.bigintField = bigintField;
|
|
53
|
+
const stringField = (name) => new RecordSchema_1.RecordFieldBuilder(name, false, (value => typeof value === 'string' ? util_1.Result.success(value) : expected(value, 'a string')), (value => util_1.Result.success(value)), (value => value));
|
|
54
|
+
exports.stringField = stringField;
|
|
55
|
+
/* Temporal Fields */
|
|
56
|
+
// JS Date
|
|
57
|
+
const dateField = (name) => new RecordSchema_1.RecordFieldBuilder(name, false, value => value instanceof Date && !isNaN(value.getTime()) ? util_1.Result.success(value) : expected(value, 'a date'), (value) => {
|
|
58
|
+
const parsed = new Date(value);
|
|
59
|
+
return isNaN(parsed.getTime()) ? expected(value, 'a date') : util_1.Result.success(parsed);
|
|
60
|
+
}, value => value);
|
|
61
|
+
exports.dateField = dateField;
|
|
62
|
+
const datetimeParser = ({ formats = [], locale = 'en-US', zone = 'UTC' }) => (value) => {
|
|
63
|
+
if (typeof value !== 'string')
|
|
64
|
+
return expected(value, 'a date/time');
|
|
65
|
+
const iso = luxon_1.DateTime.fromISO(value, { zone, setZone: true });
|
|
66
|
+
if (iso.isValid)
|
|
67
|
+
return util_1.Result.success(iso);
|
|
68
|
+
for (const format of formats) {
|
|
69
|
+
const parsed = luxon_1.DateTime.fromFormat(value, format, {
|
|
70
|
+
locale,
|
|
71
|
+
zone,
|
|
72
|
+
setZone: true
|
|
73
|
+
});
|
|
74
|
+
if (parsed.isValid)
|
|
75
|
+
return util_1.Result.success(parsed);
|
|
76
|
+
}
|
|
77
|
+
return expected(value, 'a date/time');
|
|
78
|
+
};
|
|
79
|
+
const datetimeField = (name, options = {}) => {
|
|
80
|
+
const parser = datetimeParser(options);
|
|
81
|
+
return new RecordSchema_1.RecordFieldBuilder(name, false, value => luxon_1.DateTime.isDateTime(value) && value.isValid
|
|
82
|
+
? util_1.Result.success(value)
|
|
83
|
+
: expected(value, 'a valid DateTime'), parser, value => value == null ? value : value.toISO({ extendedZone: true }));
|
|
84
|
+
};
|
|
85
|
+
exports.datetimeField = datetimeField;
|
|
86
|
+
/* Specialized Number Fields */
|
|
87
|
+
const currencyField = (name) => new RecordSchema_1.RecordFieldBuilder(name, false, value => typeof value === 'number' && Number.isFinite(value)
|
|
88
|
+
? util_1.Result.success(value)
|
|
89
|
+
: expected(value, 'a number'), value => {
|
|
90
|
+
if (typeof value !== 'string')
|
|
91
|
+
return expected(value, 'a currency amount');
|
|
92
|
+
const text = value.trim();
|
|
93
|
+
// Allow an optional sign before the dollar symbol, never after it.
|
|
94
|
+
const match = /^([+-]?)\$([\d.,]+)$/.exec(text);
|
|
95
|
+
const result = parseNumber(match ? `${match[1]}${match[2]}` : text);
|
|
96
|
+
return result.success
|
|
97
|
+
? result
|
|
98
|
+
: expected(value, 'a currency amount');
|
|
99
|
+
}, value => value);
|
|
22
100
|
exports.currencyField = currencyField;
|
|
23
|
-
const percentField = (name
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
101
|
+
const percentField = (name) => new RecordSchema_1.RecordFieldBuilder(name, false, value => typeof value === 'number' && Number.isFinite(value)
|
|
102
|
+
? util_1.Result.success(value)
|
|
103
|
+
: expected(value, 'a number'), value => {
|
|
104
|
+
if (typeof value !== 'string')
|
|
105
|
+
return expected(value, 'a percentage');
|
|
106
|
+
const text = value.trim();
|
|
107
|
+
// Only allow a percent sign immediately after the number.
|
|
108
|
+
const match = /^([+-]?[\d.,]+)%$/.exec(text);
|
|
109
|
+
const result = parseNumber(match ? match[1] : text);
|
|
110
|
+
return result.success
|
|
111
|
+
? util_1.Result.success(result.value / (match ? 100 : 1))
|
|
112
|
+
: expected(value, 'a percentage');
|
|
113
|
+
}, value => value);
|
|
30
114
|
exports.percentField = percentField;
|
|
31
|
-
|
|
32
|
-
|
|
115
|
+
/* Specialized String Fields */
|
|
116
|
+
// Enum
|
|
33
117
|
const enumParser = (values, caseSensitive) => {
|
|
34
118
|
const find = caseSensitive
|
|
35
119
|
? (value) => values.find(item => item === value)
|
|
@@ -48,6 +132,18 @@ const enumField = (name, values, caseSensitive = false) => {
|
|
|
48
132
|
return new RecordSchema_1.RecordFieldBuilder(name, false, parser, parser, value => value);
|
|
49
133
|
};
|
|
50
134
|
exports.enumField = enumField;
|
|
135
|
+
const makeEmailParser = (options) => (value) => typeof value === 'string' && (0, isEmail_1.default)(value, options) ? util_1.Result.success(value) : expected(value, 'an email address');
|
|
136
|
+
const emailField = (name, options) => {
|
|
137
|
+
const parser = makeEmailParser(options);
|
|
138
|
+
return new RecordSchema_1.RecordFieldBuilder(name, false, parser, parser, value => value);
|
|
139
|
+
};
|
|
140
|
+
exports.emailField = emailField;
|
|
141
|
+
const makeUrlParser = (options) => (value) => typeof value === 'string' && (0, isURL_1.default)(value, options) ? util_1.Result.success(value) : expected(value, 'a Url');
|
|
142
|
+
const urlField = (name, options) => {
|
|
143
|
+
const parser = makeUrlParser(options);
|
|
144
|
+
return new RecordSchema_1.RecordFieldBuilder(name, false, parser, parser, value => value);
|
|
145
|
+
};
|
|
146
|
+
exports.urlField = urlField;
|
|
51
147
|
const defaultPhoneFormat = ({ area, start, end }) => `(${area}) ${start}-${end}`;
|
|
52
148
|
const getPhoneNumber = (text, format = defaultPhoneFormat) => {
|
|
53
149
|
const [result, area, start, end] = text.match(/^ *\((\d{3})\) *(\d{3}) *-? *(\d{4}) *$/) ||
|
|
@@ -69,12 +165,4 @@ const phoneField = (name, format) => {
|
|
|
69
165
|
return new RecordSchema_1.RecordFieldBuilder(name, false, parser, parser, value => value);
|
|
70
166
|
};
|
|
71
167
|
exports.phoneField = phoneField;
|
|
72
|
-
const defaultDateParser = (value) => {
|
|
73
|
-
const parsed = new Date(value);
|
|
74
|
-
return isNaN(parsed.getTime())
|
|
75
|
-
? expected(value, 'a date')
|
|
76
|
-
: util_1.Result.success(parsed);
|
|
77
|
-
};
|
|
78
|
-
const dateField = (name, parser) => new RecordSchema_1.RecordFieldBuilder(name, false, value => value instanceof Date && !isNaN(value.getTime()) ? util_1.Result.success(value) : expected(value, 'a date'), parser ?? defaultDateParser, value => value);
|
|
79
|
-
exports.dateField = dateField;
|
|
80
168
|
//# sourceMappingURL=RecordFields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordFields.js","sourceRoot":"","sources":["../../src/record/RecordFields.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RecordFields.js","sourceRoot":"","sources":["../../src/record/RecordFields.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export declare const RecordElement: Readonly<{
|
|
|
26
26
|
isField: (element: RecordElement) => element is RecordField;
|
|
27
27
|
}>;
|
|
28
28
|
export type RecordSchema = RecordElement[];
|
|
29
|
+
export declare const typeOnly: () => never;
|
|
29
30
|
export declare class RecordFieldBuilder<const Name extends string, const Type, Optional extends boolean = false> implements RecordField<Name, Type, Optional> {
|
|
30
31
|
readonly name: Name;
|
|
31
32
|
readonly isOptional: Optional;
|
|
@@ -33,6 +34,7 @@ export declare class RecordFieldBuilder<const Name extends string, const Type, O
|
|
|
33
34
|
readonly parse: RecordParser<Type>;
|
|
34
35
|
readonly encode: RecordEncoder<Type>;
|
|
35
36
|
constructor(name: Name, isOptional: Optional, validate: RecordValidator<Type>, parse: RecordParser<Type>, encode: RecordEncoder<Type>);
|
|
37
|
+
get type(): Type;
|
|
36
38
|
optional(): RecordFieldBuilder<Name, Type, true>;
|
|
37
39
|
validator(validator: RecordValidator<Type>): RecordFieldBuilder<Name, Type, Optional>;
|
|
38
40
|
parser(parser: RecordParser<Type>): RecordFieldBuilder<Name, Type, Optional>;
|
|
@@ -46,4 +48,7 @@ export declare class RecordGroupBuilder<const Name extends string, const Fields
|
|
|
46
48
|
get type(): RecordGroupData<Fields>;
|
|
47
49
|
optional(): RecordGroupBuilder<Name, Fields, true>;
|
|
48
50
|
}
|
|
51
|
+
export type RecordGroupFactory<Fields extends RecordField<any, any, any>[]> = (<const Name extends string>(name: Name) => RecordGroupBuilder<Name, Fields, false>) & {
|
|
52
|
+
readonly type: RecordGroupBuilder<string, Fields, false>['type'];
|
|
53
|
+
};
|
|
49
54
|
//# sourceMappingURL=RecordSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordSchema.d.ts","sourceRoot":"","sources":["../../src/record/RecordSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAU,MAAM,EAAE,MAAM,SAAS,CAAC;AAGzC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;CAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAGrG,MAAM,MAAM,eAAe,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAE7E,MAAM,MAAM,YAAY,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAEzE,MAAM,MAAM,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,KAAK,WAAW,CAAC;AAGlF,MAAM,MAAM,eAAe,CAAC,IAAI,IAAI;IAChC,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAGF,MAAM,MAAM,WAAW,CACnB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,GAAG,GAAG,EACV,QAAQ,SAAS,OAAO,GAAG,OAAO,IAClC;IACA,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,QAAQ,CAAC;CACxB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,MAAM,WAAW,CACnB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,MAAM,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,EAC5C,QAAQ,SAAS,OAAO,GAAG,OAAO,IAClC;IACA,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,QAAQ,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;AAEtD,eAAO,MAAM,aAAa;uBACH,aAAa,KAAG,OAAO,IAAI,WAAW;uBAGtC,aAAa,KAAG,OAAO,IAAI,WAAW;EAE3D,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"RecordSchema.d.ts","sourceRoot":"","sources":["../../src/record/RecordSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RecordGroupBuilder = exports.RecordFieldBuilder = exports.RecordElement = void 0;
|
|
3
|
+
exports.RecordGroupBuilder = exports.RecordFieldBuilder = exports.typeOnly = exports.RecordElement = void 0;
|
|
4
4
|
const util_1 = require("../util");
|
|
5
5
|
exports.RecordElement = Object.freeze({
|
|
6
6
|
isGroup: (element) => 'fields' in element,
|
|
7
7
|
isField: (element) => !('fields' in element)
|
|
8
8
|
});
|
|
9
9
|
/* Builders */
|
|
10
|
+
const typeOnly = () => { throw new Error('Type-only property cannot be accessed at runtime'); };
|
|
11
|
+
exports.typeOnly = typeOnly;
|
|
10
12
|
class RecordFieldBuilder {
|
|
11
13
|
name;
|
|
12
14
|
isOptional;
|
|
@@ -21,6 +23,9 @@ class RecordFieldBuilder {
|
|
|
21
23
|
this.encode = encode;
|
|
22
24
|
(0, util_1.freeze)(this);
|
|
23
25
|
}
|
|
26
|
+
get type() {
|
|
27
|
+
return (0, exports.typeOnly)();
|
|
28
|
+
}
|
|
24
29
|
optional() {
|
|
25
30
|
return new RecordFieldBuilder(this.name, true, this.validate, this.parse, this.encode);
|
|
26
31
|
}
|
|
@@ -47,7 +52,7 @@ class RecordGroupBuilder {
|
|
|
47
52
|
(0, util_1.freeze)(this);
|
|
48
53
|
}
|
|
49
54
|
get type() {
|
|
50
|
-
|
|
55
|
+
return (0, exports.typeOnly)();
|
|
51
56
|
}
|
|
52
57
|
optional() {
|
|
53
58
|
return new RecordGroupBuilder(this.name, true, this.fields);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordSchema.js","sourceRoot":"","sources":["../../src/record/RecordSchema.ts"],"names":[],"mappings":";;;AACA,kCAAyC;AAyC5B,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,OAAsB,EAA0B,EAAE,CACxD,QAAQ,IAAI,OAAO;IAEvB,OAAO,EAAE,CAAC,OAAsB,EAA0B,EAAE,CACxD,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;CAC7B,CAAC,CAAC;AAIH,cAAc;
|
|
1
|
+
{"version":3,"file":"RecordSchema.js","sourceRoot":"","sources":["../../src/record/RecordSchema.ts"],"names":[],"mappings":";;;AACA,kCAAyC;AAyC5B,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,OAAsB,EAA0B,EAAE,CACxD,QAAQ,IAAI,OAAO;IAEvB,OAAO,EAAE,CAAC,OAAsB,EAA0B,EAAE,CACxD,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;CAC7B,CAAC,CAAC;AAIH,cAAc;AAEP,MAAM,QAAQ,GAAG,GAAU,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC,CAAC,CAAC;AAAjG,QAAA,QAAQ,YAAyF;AAE9G,MAAa,kBAAkB;IAMP;IACA;IACA;IACA;IACA;IALpB,YACoB,IAAU,EACV,UAAoB,EACpB,QAA+B,EAC/B,KAAyB,EACzB,MAA2B;QAJ3B,SAAI,GAAJ,IAAI,CAAM;QACV,eAAU,GAAV,UAAU,CAAU;QACpB,aAAQ,GAAR,QAAQ,CAAuB;QAC/B,UAAK,GAAL,KAAK,CAAoB;QACzB,WAAM,GAAN,MAAM,CAAqB;QAC3C,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAEnB,IAAI,IAAI;QACJ,OAAO,IAAA,gBAAQ,GAAE,CAAC;IACtB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,kBAAkB,CACzB,IAAI,CAAC,IAAI,EACT,IAAI,EACJ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACd,CAAC;IACN,CAAC;IAED,SAAS,CAAC,SAAgC;QACtC,OAAO,IAAI,kBAAkB,CACzB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,SAAS,EACT,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACd,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAA0B;QAC7B,OAAO,IAAI,kBAAkB,CACzB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,MAAM,EACN,IAAI,CAAC,MAAM,CACd,CAAC;IACN,CAAC;IAED,OAAO,CAAC,OAA4B;QAChC,OAAO,IAAI,kBAAkB,CACzB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,OAAO,CACV,CAAC;IACN,CAAC;CACJ;AAxDD,gDAwDC;AAED,MAAa,kBAAkB;IAMP;IACA;IACA;IAHpB,YACoB,IAAU,EACV,UAAoB,EACpB,MAAc;QAFd,SAAI,GAAJ,IAAI,CAAM;QACV,eAAU,GAAV,UAAU,CAAU;QACpB,WAAM,GAAN,MAAM,CAAQ;QAE9B,IAAI,CAAC,MAAM,GAAG,IAAA,aAAM,EAAC,CAAC,GAAG,MAAM,CAAC,CAAsB,CAAC;QACvD,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAA,gBAAQ,GAAE,CAAC;IACtB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;CACJ;AArBD,gDAqBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordTable.d.ts","sourceRoot":"","sources":["../../src/record/RecordTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"RecordTable.d.ts","sourceRoot":"","sources":["../../src/record/RecordTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAY,MAAM,gBAAgB,CAAC;AAExD,qBAAa,WAAW,CACpB,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EAClC,KAAK,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY;aAG5B,IAAI,EAAE,IAAI;aACV,MAAM,EAAE,MAAM;gBADd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM;IAGlC,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,CAE7B;CACJ;AAED,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE3E,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAErF,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,WAAW,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvF,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,WAAW,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RecordTable = void 0;
|
|
4
|
+
const RecordSchema_1 = require("./RecordSchema");
|
|
4
5
|
class RecordTable {
|
|
5
6
|
name;
|
|
6
7
|
schema;
|
|
@@ -9,7 +10,7 @@ class RecordTable {
|
|
|
9
10
|
this.schema = schema;
|
|
10
11
|
}
|
|
11
12
|
get type() {
|
|
12
|
-
|
|
13
|
+
return (0, RecordSchema_1.typeOnly)();
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
exports.RecordTable = RecordTable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordTable.js","sourceRoot":"","sources":["../../src/record/RecordTable.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"RecordTable.js","sourceRoot":"","sources":["../../src/record/RecordTable.ts"],"names":[],"mappings":";;;AACA,iDAAwD;AAExD,MAAa,WAAW;IAKA;IACA;IAFpB,YACoB,IAAU,EACV,MAAc;QADd,SAAI,GAAJ,IAAI,CAAM;QACV,WAAM,GAAN,MAAM,CAAQ;IAC9B,CAAC;IAEL,IAAI,IAAI;QACJ,OAAO,IAAA,uBAAQ,GAAE,CAAC;IACtB,CAAC;CACJ;AAZD,kCAYC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "recordbase",
|
|
3
3
|
"description": "Typed Record Tables over Spreadsheets, JSON, SQL or other storage backends.",
|
|
4
4
|
"author": "lemfraust",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.2.1",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git@github.com:lemfraust/recordbase.git"
|
|
@@ -25,10 +25,14 @@
|
|
|
25
25
|
"dist"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@googleapis/sheets": "^18.1.1"
|
|
28
|
+
"@googleapis/sheets": "^18.1.1",
|
|
29
|
+
"luxon": "^3.7.2",
|
|
30
|
+
"validator": "^13.15.35"
|
|
29
31
|
},
|
|
30
32
|
"devDependencies": {
|
|
33
|
+
"@types/luxon": "^3.7.6",
|
|
31
34
|
"@types/node": "^26.6.3",
|
|
35
|
+
"@types/validator": "^13.15.10",
|
|
32
36
|
"tsx": "^4.23.15",
|
|
33
37
|
"typescript": "~6.0.2",
|
|
34
38
|
"vitest": "^5.0.4"
|