@nhtio/lucid-resourceful 0.1.0-master-71781cfd → 0.1.0-master-3ec631a4

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.
Files changed (47) hide show
  1. package/{definitions-DgI468dW.cjs → data_type_schemas-BqeljaQB.cjs} +21 -177
  2. package/data_type_schemas-BqeljaQB.cjs.map +1 -0
  3. package/data_type_schemas-Cpco9Zba.js +225 -0
  4. package/data_type_schemas-Cpco9Zba.js.map +1 -0
  5. package/{decorator_utils-U_rZo8tv.cjs → decorator_utils-DSvYjLYD.cjs} +204 -60
  6. package/decorator_utils-DSvYjLYD.cjs.map +1 -0
  7. package/{decorator_utils-YSb1EGJ6.js → decorator_utils-gyymixlk.js} +207 -65
  8. package/decorator_utils-gyymixlk.js.map +1 -0
  9. package/definitions-DcB6B_4d.js +174 -0
  10. package/definitions-DcB6B_4d.js.map +1 -0
  11. package/definitions-DjQRkCeH.cjs +173 -0
  12. package/definitions-DjQRkCeH.cjs.map +1 -0
  13. package/definitions.cjs +1 -1
  14. package/definitions.mjs +11 -11
  15. package/{errors-B1rr67uM.js → errors-C-x5_jRE.js} +162 -27
  16. package/errors-C-x5_jRE.js.map +1 -0
  17. package/{errors-D8jb9VxY.cjs → errors-CNwuNhBV.cjs} +138 -5
  18. package/errors-CNwuNhBV.cjs.map +1 -0
  19. package/errors.cjs +5 -1
  20. package/errors.cjs.map +1 -1
  21. package/errors.d.ts +24 -2
  22. package/errors.mjs +19 -15
  23. package/index.cjs +1380 -652
  24. package/index.cjs.map +1 -1
  25. package/index.mjs +1624 -896
  26. package/index.mjs.map +1 -1
  27. package/joi.cjs +1854 -3368
  28. package/joi.cjs.map +1 -1
  29. package/joi.mjs +1857 -3371
  30. package/joi.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/private/decorators.d.ts +8 -8
  33. package/private/lucene_to_lucid_translator.d.ts +21 -175
  34. package/private/mixin.d.ts +68 -5
  35. package/private/services/open_api_schema_service.d.ts +111 -0
  36. package/private/type_guards.d.ts +62 -0
  37. package/private/types.d.ts +1 -1
  38. package/private/utils.d.ts +24 -0
  39. package/utils.cjs +1 -1
  40. package/utils.mjs +2 -2
  41. package/decorator_utils-U_rZo8tv.cjs.map +0 -1
  42. package/decorator_utils-YSb1EGJ6.js.map +0 -1
  43. package/definitions-B88XBTUF.js +0 -381
  44. package/definitions-B88XBTUF.js.map +0 -1
  45. package/definitions-DgI468dW.cjs.map +0 -1
  46. package/errors-B1rr67uM.js.map +0 -1
  47. package/errors-D8jb9VxY.cjs.map +0 -1
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
- const errors = require("./errors-D8jb9VxY.cjs");
2
+ const errors = require("./errors-CNwuNhBV.cjs");
3
+ const node_util = require("node:util");
4
+ const joi = require("./joi.cjs");
5
+ const data_type_schemas = require("./data_type_schemas-BqeljaQB.cjs");
3
6
  class LuxonError extends Error {
4
7
  }
5
8
  class InvalidDateTimeError extends LuxonError {
@@ -1096,7 +1099,7 @@ function normalizeZone(input, defaultZone2) {
1096
1099
  return defaultZone2;
1097
1100
  } else if (input instanceof Zone) {
1098
1101
  return input;
1099
- } else if (isString$1(input)) {
1102
+ } else if (isString(input)) {
1100
1103
  const lowered = input.toLowerCase();
1101
1104
  if (lowered === "default") return defaultZone2;
1102
1105
  else if (lowered === "local" || lowered === "system") return SystemZone.instance;
@@ -1492,7 +1495,7 @@ function isNumber(o) {
1492
1495
  function isInteger(o) {
1493
1496
  return typeof o === "number" && o % 1 === 0;
1494
1497
  }
1495
- function isString$1(o) {
1498
+ function isString(o) {
1496
1499
  return typeof o === "string";
1497
1500
  }
1498
1501
  function isDate(o) {
@@ -6388,8 +6391,168 @@ const isInstanceOf = (value, type, ctor) => {
6388
6391
  };
6389
6392
  const isResourcefulModel = (value) => {
6390
6393
  if (!isObject(value) && !(typeof value === "function")) return false;
6391
- const proto = Object.getPrototypeOf(value);
6392
- return (isObject(proto) || typeof proto === "function") && "$resourcefulName" in proto && "string" === typeof proto.$resourcefulName && "$resourcefulColumns" in proto && proto.$resourcefulColumns instanceof Map && "$resourcefulRelationships" in proto && proto.$resourcefulRelationships instanceof Map && "$resourcefulComputedAccessors" in proto && proto.$resourcefulComputedAccessors instanceof Map;
6394
+ if (typeof value === "function") {
6395
+ return "$resourcefulName" in value && "string" === typeof value.$resourcefulName && "$resourcefulColumns" in value && value.$resourcefulColumns instanceof Map && "$resourcefulRelationships" in value && value.$resourcefulRelationships instanceof Map && "$resourcefulComputedAccessors" in value && value.$resourcefulComputedAccessors instanceof Map;
6396
+ }
6397
+ /* istanbul ignore if -- @preserve */
6398
+ if ("constructor" in value) {
6399
+ const constructor = value.constructor;
6400
+ /* istanbul ignore if -- @preserve */
6401
+ if (!constructor || typeof constructor !== "function") return false;
6402
+ return isResourcefulModel(constructor);
6403
+ }
6404
+ /* istanbul ignore next -- @preserve */
6405
+ if (node_util.types.isProxy(value)) {
6406
+ const proto = Object.getPrototypeOf(value);
6407
+ return isResourcefulModel(proto);
6408
+ }
6409
+ /* istanbul ignore next -- @preserve */
6410
+ return false;
6411
+ };
6412
+ const BaseDataTypeSchemaFactory = (name, type) => {
6413
+ return joi.joi.object({
6414
+ type: joi.joi.string().allow(type).required(),
6415
+ name: joi.joi.string().allow(name).optional(),
6416
+ schema: joi.joi.object({
6417
+ _cache: joi.joi.required(),
6418
+ _flags: joi.joi.object().unknown(true).required(),
6419
+ _ids: joi.joi.object({
6420
+ _byId: joi.joi.object().instance(Map).required(),
6421
+ _byKey: joi.joi.object().instance(Map).required(),
6422
+ _schemaChain: joi.joi.boolean().required()
6423
+ }).unknown(true).required(),
6424
+ _invalids: joi.joi.required(),
6425
+ _preferences: joi.joi.required(),
6426
+ _refs: joi.joi.object().unknown(true).required(),
6427
+ _rules: joi.joi.array().items(joi.joi.any()).required(),
6428
+ _singleRules: joi.joi.object().instance(Map).required(),
6429
+ _valids: joi.joi.required(),
6430
+ $: joi.joi.required(),
6431
+ $_root: joi.joi.required(),
6432
+ $_super: joi.joi.required(),
6433
+ $_temp: joi.joi.required(),
6434
+ $_terms: joi.joi.required(),
6435
+ ruleset: joi.joi.func().required(),
6436
+ type: joi.joi.string().required()
6437
+ }).unknown(true).optional()
6438
+ }).unknown(true);
6439
+ };
6440
+ const getDataTypeSchemaResults = (value, name, type, schema) => {
6441
+ if (!isObject(value)) return false;
6442
+ if (value.type !== type) return false;
6443
+ const base = BaseDataTypeSchemaFactory(name, type);
6444
+ const { error: errorFromSchema } = schema.validate(
6445
+ errors.stripUndefinedValuesFromObject({
6446
+ ...value,
6447
+ type: void 0,
6448
+ name: void 0,
6449
+ schema: void 0
6450
+ })
6451
+ );
6452
+ const { error: errorFromBase } = base.validate({
6453
+ type: value.type,
6454
+ name: value.name,
6455
+ schema: value.schema
6456
+ });
6457
+ return "undefined" === typeof errorFromSchema && "undefined" === typeof errorFromBase;
6458
+ };
6459
+ const isResourcefulStringType = (value) => {
6460
+ return getDataTypeSchemaResults(
6461
+ value,
6462
+ "ResourcefulStringType",
6463
+ "string",
6464
+ data_type_schemas.ResourcefulStringTypeSchema()
6465
+ );
6466
+ };
6467
+ const isResourcefulDateType = (value) => {
6468
+ return getDataTypeSchemaResults(
6469
+ value,
6470
+ "ResourcefulDateType",
6471
+ "string",
6472
+ data_type_schemas.ResourcefulDateTypeSchema().append({
6473
+ format: joi.joi.string().valid("date").required()
6474
+ })
6475
+ );
6476
+ };
6477
+ const isResourcefulDateTimeType = (value) => {
6478
+ return getDataTypeSchemaResults(
6479
+ value,
6480
+ "ResourcefulDateTimeType",
6481
+ "string",
6482
+ data_type_schemas.ResourcefulDateTimeTypeSchema().append({
6483
+ format: joi.joi.string().valid("date-time").required()
6484
+ })
6485
+ );
6486
+ };
6487
+ const isResourcefulBinaryType = (value) => {
6488
+ return getDataTypeSchemaResults(
6489
+ value,
6490
+ "ResourcefulBinaryType",
6491
+ "string",
6492
+ data_type_schemas.ResourcefulBinaryTypeSchema().append({
6493
+ format: joi.joi.string().valid("binary").required()
6494
+ })
6495
+ );
6496
+ };
6497
+ const isResourcefulNumberType = (value) => {
6498
+ return getDataTypeSchemaResults(
6499
+ value,
6500
+ "ResourcefulNumberType",
6501
+ "number",
6502
+ data_type_schemas.ResourcefulNumberTypeSchema()
6503
+ );
6504
+ };
6505
+ const isResourcefulIntegerType = (value) => {
6506
+ return getDataTypeSchemaResults(
6507
+ value,
6508
+ "ResourcefulIntegerType",
6509
+ "integer",
6510
+ data_type_schemas.ResourcefulIntegerTypeSchema().append({
6511
+ format: joi.joi.string().valid("int32").required()
6512
+ })
6513
+ );
6514
+ };
6515
+ const isResourcefulBigintType = (value) => {
6516
+ return getDataTypeSchemaResults(
6517
+ value,
6518
+ "ResourcefulBigintType",
6519
+ "integer",
6520
+ data_type_schemas.ResourcefulBigintTypeSchema().append({
6521
+ format: joi.joi.string().valid("int64").required()
6522
+ })
6523
+ );
6524
+ };
6525
+ const isResourcefulUnsignedIntegerType = (value) => {
6526
+ return getDataTypeSchemaResults(
6527
+ value,
6528
+ "ResourcefulUnsignedIntegerType",
6529
+ "integer",
6530
+ data_type_schemas.ResourcefulUnsignedIntegerTypeSchema()
6531
+ );
6532
+ };
6533
+ const isResourcefulBooleanType = (value) => {
6534
+ return getDataTypeSchemaResults(
6535
+ value,
6536
+ "ResourcefulBooleanType",
6537
+ "boolean",
6538
+ data_type_schemas.ResourcefulBooleanTypeSchema()
6539
+ );
6540
+ };
6541
+ const isResourcefulObjectType = (value) => {
6542
+ return getDataTypeSchemaResults(
6543
+ value,
6544
+ "ResourcefulObjectType",
6545
+ "object",
6546
+ data_type_schemas.ResourcefulObjectTypeSchema()
6547
+ );
6548
+ };
6549
+ const isResourcefulArrayType = (value) => {
6550
+ return getDataTypeSchemaResults(
6551
+ value,
6552
+ "ResourcefulArrayType",
6553
+ "array",
6554
+ data_type_schemas.ResourcefulArrayTypeSchema()
6555
+ );
6393
6556
  };
6394
6557
  const type_guards = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6395
6558
  __proto__: null,
@@ -6398,45 +6561,19 @@ const type_guards = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineP
6398
6561
  isLucidBinaryValue,
6399
6562
  isLuxonDateTime,
6400
6563
  isObject,
6401
- isResourcefulModel
6564
+ isResourcefulArrayType,
6565
+ isResourcefulBigintType,
6566
+ isResourcefulBinaryType,
6567
+ isResourcefulBooleanType,
6568
+ isResourcefulDateTimeType,
6569
+ isResourcefulDateType,
6570
+ isResourcefulIntegerType,
6571
+ isResourcefulModel,
6572
+ isResourcefulNumberType,
6573
+ isResourcefulObjectType,
6574
+ isResourcefulStringType,
6575
+ isResourcefulUnsignedIntegerType
6402
6576
  }, Symbol.toStringTag, { value: "Module" }));
6403
- exports.CRUDOperationsEnum = /* @__PURE__ */ ((CRUDOperationsEnum2) => {
6404
- CRUDOperationsEnum2["CREATE"] = "create";
6405
- CRUDOperationsEnum2["READ"] = "read";
6406
- CRUDOperationsEnum2["LIST"] = "list";
6407
- CRUDOperationsEnum2["UPDATE"] = "update";
6408
- CRUDOperationsEnum2["DELETE"] = "delete";
6409
- return CRUDOperationsEnum2;
6410
- })(exports.CRUDOperationsEnum || {});
6411
- exports.ACLOperationsEnum = /* @__PURE__ */ ((ACLOperationsEnum2) => {
6412
- ACLOperationsEnum2["WRITE"] = "write";
6413
- ACLOperationsEnum2["READ"] = "read";
6414
- return ACLOperationsEnum2;
6415
- })(exports.ACLOperationsEnum || {});
6416
- const operationCRUDToACL = (operation) => {
6417
- if (operation === exports.CRUDOperationsEnum.READ || operation === exports.CRUDOperationsEnum.LIST) {
6418
- return exports.ACLOperationsEnum.READ;
6419
- }
6420
- if (operation === exports.CRUDOperationsEnum.CREATE || operation === exports.CRUDOperationsEnum.UPDATE || operation === exports.CRUDOperationsEnum.DELETE) {
6421
- return exports.ACLOperationsEnum.WRITE;
6422
- }
6423
- };
6424
- const isString = (value) => {
6425
- return typeof value === "string";
6426
- };
6427
- const isFunction = (value) => {
6428
- return typeof value === "function";
6429
- };
6430
- const prepareFields = (fields, primaryKey) => {
6431
- const defaultValue = [primaryKey];
6432
- if (Array.isArray(fields)) {
6433
- return fields.length ? fields : defaultValue;
6434
- }
6435
- if (isString(fields)) {
6436
- return fields.length ? [fields] : defaultValue;
6437
- }
6438
- return defaultValue;
6439
- };
6440
6577
  const castValueAsString = (value) => {
6441
6578
  if ("string" === typeof value) return value;
6442
6579
  if ("number" === typeof value) return value.toString();
@@ -6676,7 +6813,7 @@ function consumeString(key, value, nullable = false) {
6676
6813
  if (true === nullable) {
6677
6814
  return null;
6678
6815
  }
6679
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "String"]);
6816
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "String"]);
6680
6817
  }
6681
6818
  }
6682
6819
  function consumeDate(key, value, nullable = false) {
@@ -6687,7 +6824,7 @@ function consumeDate(key, value, nullable = false) {
6687
6824
  if (true === nullable) {
6688
6825
  return null;
6689
6826
  }
6690
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "Date"]);
6827
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "Date"]);
6691
6828
  }
6692
6829
  }
6693
6830
  function consumeDateTime(key, value, nullable = false) {
@@ -6698,7 +6835,7 @@ function consumeDateTime(key, value, nullable = false) {
6698
6835
  if (true === nullable) {
6699
6836
  return null;
6700
6837
  }
6701
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "DateTime"]);
6838
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "DateTime"]);
6702
6839
  }
6703
6840
  }
6704
6841
  function consumeBinary(key, value, nullable = false) {
@@ -6709,7 +6846,7 @@ function consumeBinary(key, value, nullable = false) {
6709
6846
  if (true === nullable) {
6710
6847
  return null;
6711
6848
  }
6712
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "Binary"]);
6849
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "Binary"]);
6713
6850
  }
6714
6851
  }
6715
6852
  function consumeNumber(key, value, nullable = false) {
@@ -6720,7 +6857,7 @@ function consumeNumber(key, value, nullable = false) {
6720
6857
  if (true === nullable) {
6721
6858
  return null;
6722
6859
  }
6723
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "Number"]);
6860
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "Number"]);
6724
6861
  }
6725
6862
  }
6726
6863
  function consumeInteger(key, value, nullable = false) {
@@ -6731,7 +6868,7 @@ function consumeInteger(key, value, nullable = false) {
6731
6868
  if (true === nullable) {
6732
6869
  return null;
6733
6870
  }
6734
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "Integer"]);
6871
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "Integer"]);
6735
6872
  }
6736
6873
  }
6737
6874
  function consumeBigint(key, value, nullable = false) {
@@ -6742,7 +6879,7 @@ function consumeBigint(key, value, nullable = false) {
6742
6879
  if (true === nullable) {
6743
6880
  return null;
6744
6881
  }
6745
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "Bigint"]);
6882
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "Bigint"]);
6746
6883
  }
6747
6884
  }
6748
6885
  function consumeUnsignedint(key, value, nullable = false) {
@@ -6753,7 +6890,7 @@ function consumeUnsignedint(key, value, nullable = false) {
6753
6890
  if (true === nullable) {
6754
6891
  return null;
6755
6892
  }
6756
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "Unsignedint"]);
6893
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "Unsignedint"]);
6757
6894
  }
6758
6895
  }
6759
6896
  function consumeBoolean(key, value, nullable = false) {
@@ -6764,13 +6901,13 @@ function consumeBoolean(key, value, nullable = false) {
6764
6901
  if (true === nullable) {
6765
6902
  return null;
6766
6903
  }
6767
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "Boolean"]);
6904
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "Boolean"]);
6768
6905
  }
6769
6906
  }
6770
6907
  function consumeObject(key, value, nullable = false) {
6771
6908
  if (value === null && nullable === true) return null;
6772
6909
  try {
6773
- if (isString(value)) {
6910
+ if (errors.isString(value)) {
6774
6911
  value = JSON.parse(value);
6775
6912
  }
6776
6913
  return castValueAsObject(value);
@@ -6778,7 +6915,7 @@ function consumeObject(key, value, nullable = false) {
6778
6915
  if (true === nullable) {
6779
6916
  return null;
6780
6917
  }
6781
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "Object"]);
6918
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "Object"]);
6782
6919
  }
6783
6920
  }
6784
6921
  function consumeArray(key, value, nullable = false) {
@@ -6789,7 +6926,7 @@ function consumeArray(key, value, nullable = false) {
6789
6926
  if (true === nullable) {
6790
6927
  return null;
6791
6928
  }
6792
- throw new errors.E_INVALID_CONSUMED_VALUE([key, "Array"]);
6929
+ throw new errors.E_INVALID_CONSUMED_VALUE([key, value, "Array"]);
6793
6930
  }
6794
6931
  }
6795
6932
  exports.DateTime = DateTime;
@@ -6815,22 +6952,29 @@ exports.consumeNumber = consumeNumber;
6815
6952
  exports.consumeObject = consumeObject;
6816
6953
  exports.consumeString = consumeString;
6817
6954
  exports.consumeUnsignedint = consumeUnsignedint;
6818
- exports.isFunction = isFunction;
6819
6955
  exports.isObject = isObject;
6956
+ exports.isResourcefulArrayType = isResourcefulArrayType;
6957
+ exports.isResourcefulBigintType = isResourcefulBigintType;
6958
+ exports.isResourcefulBinaryType = isResourcefulBinaryType;
6959
+ exports.isResourcefulBooleanType = isResourcefulBooleanType;
6960
+ exports.isResourcefulDateTimeType = isResourcefulDateTimeType;
6961
+ exports.isResourcefulDateType = isResourcefulDateType;
6962
+ exports.isResourcefulIntegerType = isResourcefulIntegerType;
6820
6963
  exports.isResourcefulModel = isResourcefulModel;
6821
- exports.isString = isString;
6822
- exports.operationCRUDToACL = operationCRUDToACL;
6964
+ exports.isResourcefulNumberType = isResourcefulNumberType;
6965
+ exports.isResourcefulObjectType = isResourcefulObjectType;
6966
+ exports.isResourcefulStringType = isResourcefulStringType;
6967
+ exports.isResourcefulUnsignedIntegerType = isResourcefulUnsignedIntegerType;
6823
6968
  exports.prepareArray = prepareArray;
6824
6969
  exports.prepareBigint = prepareBigint;
6825
6970
  exports.prepareBinary = prepareBinary;
6826
6971
  exports.prepareBoolean = prepareBoolean;
6827
6972
  exports.prepareDate = prepareDate;
6828
6973
  exports.prepareDateTime = prepareDateTime;
6829
- exports.prepareFields = prepareFields;
6830
6974
  exports.prepareInteger = prepareInteger;
6831
6975
  exports.prepareNumber = prepareNumber;
6832
6976
  exports.prepareObject = prepareObject;
6833
6977
  exports.prepareString = prepareString;
6834
6978
  exports.prepareUnsignedint = prepareUnsignedint;
6835
6979
  exports.type_guards = type_guards;
6836
- //# sourceMappingURL=decorator_utils-U_rZo8tv.cjs.map
6980
+ //# sourceMappingURL=decorator_utils-DSvYjLYD.cjs.map