@yongdall/document 0.1.0 → 0.2.0

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.
@@ -80,6 +80,14 @@ const filters = {
80
80
  return Where.not(field, value);
81
81
  }
82
82
  },
83
+ ne: {
84
+ label: "≠",
85
+ value(field, v, f) {
86
+ if (Array.isArray(v) && v.length > 1) return Where.not(field, "in", v);
87
+ const value = (Array.isArray(v) ? v[0] : v) ?? null;
88
+ return Where.not(field, value);
89
+ }
90
+ },
83
91
  "in": {
84
92
  label: "∈",
85
93
  value(field, v, f) {
@@ -104,6 +112,13 @@ const filters = {
104
112
  const array = Array.isArray(v) ? v : [v];
105
113
  return Where.not(field, array);
106
114
  }
115
+ },
116
+ ne: {
117
+ label: "≠",
118
+ value(field, v, f) {
119
+ const array = Array.isArray(v) ? v : [v];
120
+ return Where.not(field, array);
121
+ }
107
122
  }
108
123
  },
109
124
  "i16": comparison,
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.yongdall.mjs","names":[],"sources":["../../packages/document/hooks/where.mjs"],"sourcesContent":["import { Where } from '@yongdall/model';\nimport { getUser } from '@yongdall/core';\n/** @import { WhereHook } from '@yongdall/core' */\n\n/**\n * @param {*} v\n */\nasync function getUserValue(v) {\n\tif (v == '<ME>') {\n\t\treturn await getUser() || '';\n\t}\n\treturn v ?? null;\n\n}\n/**\n * @param {*} v\n */\nasync function getUserValues(v) {\n\tconst users = [];\n\tfor (const u of Array.isArray(v) ? v : [v]) {\n\t\tusers.push(getUserValue(u));\n\t}\n\treturn Promise.all(users);\n}\n\n/** @type {WhereHook} */\nconst gt = {\n\tlabel: '>',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<', value);\n\t},\n};\n/** @type {WhereHook} */\nconst ge = {\n\tlabel: '≥',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '>=', value);\n\t},\n};\n\n/** @type {WhereHook} */\nconst lt = {\n\tlabel: '<',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<', value);\n\t},\n};\n/** @type {WhereHook} */\nconst le = {\n\tlabel: '≤',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<=', value);\n\t},\n};\n\n/** @type {Record<string, WhereHook>} */\nconst comparison = {\n\t'>': gt,\n\t'>=': ge,\n\t'<': lt,\n\t'<=': le,\n\tgt, ge, lt, le\n};\n\n\n\n/** @type {WhereHook} */\nconst eq = {\n\tlabel: '=',\n\tvalue(field, v, f) {\n\t\tif (Array.isArray(v) && v.length > 1) { return Where.and(field, 'in', v); }\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, value);\n\t},\n\tnot: '!=',\n\tnotLabel: '≠',\n};\n/** @type {WhereHook} */\nconst eqArray = {\n\tlabel: '=',\n\tvalue(field, v, f) {\n\t\tconst array = Array.isArray(v) ? v : [v];\n\t\treturn Where.and(field, array);\n\t},\n\tnot: '!=',\n\tnotLabel: '≠',\n};\n\n\n/** @type {Record<string, Record<string, WhereHook>>} */\nconst filters = {\n\t'': {\n\t\t'': eq,\n\t\t'=': eq,\n\t\teq,\n\t\t'!=': {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tif (Array.isArray(v) && v.length > 1) { return Where.not(field, 'in', v); }\n\t\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\t\treturn Where.not(field, value);\n\t\t\t},\n\t\t},\n\t\t'in': {\n\t\t\tlabel: '∈',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.and(field, 'in', array);\n\t\t\t},\n\n\t\t}\n\t\t, 'nin': {\n\t\t\tlabel: '∉', value: (field, v, f) => {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, 'in', array);\n\t\t\t}\n\t\t}\n\t}, [`[]`]: {\n\t\t'': eqArray,\n\t\t'=': eqArray,\n\t\t'!=': {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, array);\n\t\t\t},\n\t\t},\n\t},\n\n\t'i16': comparison,\n\t'i32': comparison,\n\t'i64': comparison,\n\t'f32': comparison,\n\t'f64': comparison,\n\t'decimal': comparison,\n\t'numeric': comparison,\n\t'money': comparison,\n\t'date': comparison,\n\t'time': comparison,\n\t'datetime': comparison,\n\t'timestamp': comparison,\n\t'string': comparison,\n\t'text': comparison,\n\t'char': comparison,\n\t// 'id.user': {\n\t// \t'=': async (field, v, f) => {\n\t// \t\tconst values = [...new Set(await getUserValues(v))];\n\t// \t\tif (values.length > 1) { return Where.and(field, 'in', values); }\n\t// \t\treturn Where.and(field, values[0] ?? null);\n\t// \t}, '!=': async (field, v, f) => {\n\t// \t\tconst values = [...new Set(await getUserValues(v))];\n\t// \t\tif (values.length > 1) { return Where.not(field, 'in', values); }\n\t// \t\treturn Where.not(field, values[0] ?? null);\n\t// \t}, 'in': async (field, v, f) => {\n\t// \t\treturn Where.and(field, 'in', [...new Set(await getUserValues(v))]);\n\t// \t}, 'nin': async (field, v, f) => {\n\t// \t\treturn Where.not(field, 'in', [...new Set(await getUserValues(v))]);\n\t// \t}\n\t// },\n\t// 'id.user[]': {\n\t// \t'=': async (field, v, f) => {\n\t// \t\treturn Where.and(field, await getUserValues(v));\n\t// \t}, '!=': async (field, v, f) => {\n\t// \t\treturn Where.not(field, await getUserValues(v));\n\t// \t}\n\t// }\n\n};\nexport default filters;\n"],"mappings":";;;;;AA0BA,MAAM,KAAK;CACV,OAAO;CACP,MAAM,OAAO,GAAG,GAAG;EAClB,MAAM,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,KAAK,MAAM;AAC/C,SAAO,MAAM,IAAI,OAAO,KAAK,MAAM;;CAEpC;;AAED,MAAM,KAAK;CACV,OAAO;CACP,MAAM,OAAO,GAAG,GAAG;EAClB,MAAM,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,KAAK,MAAM;AAC/C,SAAO,MAAM,IAAI,OAAO,MAAM,MAAM;;CAErC;;AAGD,MAAM,KAAK;CACV,OAAO;CACP,MAAM,OAAO,GAAG,GAAG;EAClB,MAAM,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,KAAK,MAAM;AAC/C,SAAO,MAAM,IAAI,OAAO,KAAK,MAAM;;CAEpC;;AAED,MAAM,KAAK;CACV,OAAO;CACP,MAAM,OAAO,GAAG,GAAG;EAClB,MAAM,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,KAAK,MAAM;AAC/C,SAAO,MAAM,IAAI,OAAO,MAAM,MAAM;;CAErC;;AAGD,MAAM,aAAa;CAClB,KAAK;CACL,MAAM;CACN,KAAK;CACL,MAAM;CACN;CAAI;CAAI;CAAI;CACZ;;AAKD,MAAM,KAAK;CACV,OAAO;CACP,MAAM,OAAO,GAAG,GAAG;AAClB,MAAI,MAAM,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAK,QAAO,MAAM,IAAI,OAAO,MAAM,EAAE;EACxE,MAAM,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,KAAK,MAAM;AAC/C,SAAO,MAAM,IAAI,OAAO,MAAM;;CAE/B,KAAK;CACL,UAAU;CACV;;AAED,MAAM,UAAU;CACf,OAAO;CACP,MAAM,OAAO,GAAG,GAAG;EAClB,MAAM,QAAQ,MAAM,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE;AACxC,SAAO,MAAM,IAAI,OAAO,MAAM;;CAE/B,KAAK;CACL,UAAU;CACV;;AAID,MAAM,UAAU;CACf,IAAI;EACH,IAAI;EACJ,KAAK;EACL;EACA,MAAM;GACL,OAAO;GACP,MAAM,OAAO,GAAG,GAAG;AAClB,QAAI,MAAM,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAK,QAAO,MAAM,IAAI,OAAO,MAAM,EAAE;IACxE,MAAM,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,KAAK,MAAM;AAC/C,WAAO,MAAM,IAAI,OAAO,MAAM;;GAE/B;EACD,MAAM;GACL,OAAO;GACP,MAAM,OAAO,GAAG,GAAG;IAClB,MAAM,QAAQ,MAAM,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE;AACxC,WAAO,MAAM,IAAI,OAAO,MAAM,MAAM;;GAGrC;EACC,OAAO;GACR,OAAO;GAAK,QAAQ,OAAO,GAAG,MAAM;IACnC,MAAM,QAAQ,MAAM,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE;AACxC,WAAO,MAAM,IAAI,OAAO,MAAM,MAAM;;GAErC;EACD;EAAG,OAAO;EACV,IAAI;EACJ,KAAK;EACL,MAAM;GACL,OAAO;GACP,MAAM,OAAO,GAAG,GAAG;IAClB,MAAM,QAAQ,MAAM,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE;AACxC,WAAO,MAAM,IAAI,OAAO,MAAM;;GAE/B;EACD;CAED,OAAO;CACP,OAAO;CACP,OAAO;CACP,OAAO;CACP,OAAO;CACP,WAAW;CACX,WAAW;CACX,SAAS;CACT,QAAQ;CACR,QAAQ;CACR,YAAY;CACZ,aAAa;CACb,UAAU;CACV,QAAQ;CACR,QAAQ;CAwBR;AACD,oBAAe"}
1
+ {"version":3,"file":"hooks.yongdall.mjs","names":[],"sources":["../../packages/document/hooks/where.mjs"],"sourcesContent":["import { Where } from '@yongdall/model';\nimport { getUser } from '@yongdall/core';\n/** @import { WhereHook } from '@yongdall/core' */\n\n/**\n * @param {*} v\n */\nasync function getUserValue(v) {\n\tif (v == '<ME>') {\n\t\treturn await getUser() || '';\n\t}\n\treturn v ?? null;\n\n}\n/**\n * @param {*} v\n */\nasync function getUserValues(v) {\n\tconst users = [];\n\tfor (const u of Array.isArray(v) ? v : [v]) {\n\t\tusers.push(getUserValue(u));\n\t}\n\treturn Promise.all(users);\n}\n\n/** @type {WhereHook} */\nconst gt = {\n\tlabel: '>',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<', value);\n\t},\n};\n/** @type {WhereHook} */\nconst ge = {\n\tlabel: '≥',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '>=', value);\n\t},\n};\n\n/** @type {WhereHook} */\nconst lt = {\n\tlabel: '<',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<', value);\n\t},\n};\n/** @type {WhereHook} */\nconst le = {\n\tlabel: '≤',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<=', value);\n\t},\n};\n\n/** @type {Record<string, WhereHook>} */\nconst comparison = {\n\t'>': gt,\n\t'>=': ge,\n\t'<': lt,\n\t'<=': le,\n\tgt, ge, lt, le\n};\n\n\n\n/** @type {WhereHook} */\nconst eq = {\n\tlabel: '=',\n\tvalue(field, v, f) {\n\t\tif (Array.isArray(v) && v.length > 1) { return Where.and(field, 'in', v); }\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, value);\n\t},\n\tnot: '!=',\n\tnotLabel: '≠',\n};\n/** @type {WhereHook} */\nconst eqArray = {\n\tlabel: '=',\n\tvalue(field, v, f) {\n\t\tconst array = Array.isArray(v) ? v : [v];\n\t\treturn Where.and(field, array);\n\t},\n\tnot: '!=',\n\tnotLabel: '≠',\n};\n\n\n/** @type {Record<string, Record<string, WhereHook>>} */\nconst filters = {\n\t'': {\n\t\t'': eq,\n\t\t'=': eq,\n\t\teq,\n\t\t'!=': {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tif (Array.isArray(v) && v.length > 1) { return Where.not(field, 'in', v); }\n\t\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\t\treturn Where.not(field, value);\n\t\t\t},\n\t\t},\n\t\tne: {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tif (Array.isArray(v) && v.length > 1) { return Where.not(field, 'in', v); }\n\t\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\t\treturn Where.not(field, value);\n\t\t\t},\n\t\t},\n\t\t'in': {\n\t\t\tlabel: '∈',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.and(field, 'in', array);\n\t\t\t},\n\n\t\t}\n\t\t, 'nin': {\n\t\t\tlabel: '∉', value: (field, v, f) => {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, 'in', array);\n\t\t\t}\n\t\t}\n\t}, [`[]`]: {\n\t\t'': eqArray,\n\t\t'=': eqArray,\n\t\t'!=': {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, array);\n\t\t\t},\n\t\t},\n\t\tne: {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, array);\n\t\t\t},\n\t\t},\n\t},\n\n\t'i16': comparison,\n\t'i32': comparison,\n\t'i64': comparison,\n\t'f32': comparison,\n\t'f64': comparison,\n\t'decimal': comparison,\n\t'numeric': comparison,\n\t'money': comparison,\n\t'date': comparison,\n\t'time': comparison,\n\t'datetime': comparison,\n\t'timestamp': comparison,\n\t'string': comparison,\n\t'text': comparison,\n\t'char': comparison,\n\t// 'id.user': {\n\t// \t'=': async (field, v, f) => {\n\t// \t\tconst values = [...new Set(await getUserValues(v))];\n\t// \t\tif (values.length > 1) { return Where.and(field, 'in', values); }\n\t// \t\treturn Where.and(field, values[0] ?? null);\n\t// \t}, '!=': async (field, v, f) => {\n\t// \t\tconst values = [...new Set(await getUserValues(v))];\n\t// \t\tif (values.length > 1) { return Where.not(field, 'in', values); }\n\t// \t\treturn Where.not(field, values[0] ?? null);\n\t// \t}, 'in': async (field, v, f) => {\n\t// \t\treturn Where.and(field, 'in', [...new Set(await getUserValues(v))]);\n\t// \t}, 'nin': async (field, v, f) => {\n\t// \t\treturn Where.not(field, 'in', [...new Set(await getUserValues(v))]);\n\t// \t}\n\t// },\n\t// 'id.user[]': {\n\t// \t'=': async (field, v, f) => {\n\t// \t\treturn Where.and(field, await getUserValues(v));\n\t// \t}, '!=': async (field, v, f) => {\n\t// \t\treturn Where.not(field, await getUserValues(v));\n\t// \t}\n\t// }\n\n};\nexport default filters;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yongdall/document",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "type": "module",
@@ -8,9 +8,9 @@
8
8
  "author": "",
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
- "@yongdall/core": "^0.1.0",
12
- "@yongdall/model": "^0.1.0",
13
- "@yongdall/connection": "^0.1.0"
11
+ "@yongdall/core": "^0.2.0",
12
+ "@yongdall/model": "^0.2.0",
13
+ "@yongdall/connection": "^0.2.0"
14
14
  },
15
15
  "exports": {
16
16
  ".": "./index.mjs"