@mx-space/api-client 0.4.13 → 0.5.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.
Files changed (84) hide show
  1. package/build/index.cjs.js +108 -47
  2. package/build/index.cjs.js.map +1 -1
  3. package/build/index.cjs.min.js +1 -1
  4. package/build/index.cjs.min.js.map +1 -1
  5. package/build/index.d.ts +144 -32
  6. package/build/index.esm.js +105 -44
  7. package/build/index.esm.js.map +1 -1
  8. package/build/index.esm.min.js +1 -1
  9. package/build/index.esm.min.js.map +1 -1
  10. package/build/index.umd.js +108 -47
  11. package/build/index.umd.js.map +1 -1
  12. package/build/index.umd.min.js +1 -1
  13. package/build/index.umd.min.js.map +1 -1
  14. package/esm/controllers/category.d.ts +27 -11
  15. package/esm/controllers/index.d.ts +1 -1
  16. package/esm/controllers/index.js +4 -0
  17. package/esm/controllers/index.js.map +1 -1
  18. package/esm/controllers/link.d.ts +1 -1
  19. package/esm/controllers/link.js +1 -1
  20. package/esm/controllers/link.js.map +1 -1
  21. package/esm/controllers/recently.d.ts +1 -1
  22. package/esm/controllers/recently.js +1 -1
  23. package/esm/controllers/recently.js.map +1 -1
  24. package/esm/controllers/user.d.ts +1 -1
  25. package/esm/controllers/user.js +1 -1
  26. package/esm/controllers/user.js.map +1 -1
  27. package/esm/core/client.d.ts +20 -2
  28. package/esm/core/client.js +47 -26
  29. package/esm/core/client.js.map +1 -1
  30. package/esm/index.d.ts +1 -0
  31. package/esm/index.js +1 -0
  32. package/esm/index.js.map +1 -1
  33. package/esm/interfaces/controller.d.ts +1 -1
  34. package/esm/interfaces/request.d.ts +2 -2
  35. package/esm/models/aggregate.d.ts +6 -1
  36. package/esm/models/aggregate.js.map +1 -1
  37. package/esm/models/index.d.ts +14 -0
  38. package/esm/models/index.js +15 -0
  39. package/esm/models/index.js.map +1 -0
  40. package/esm/models/link.d.ts +2 -3
  41. package/esm/models/link.js +2 -3
  42. package/esm/models/link.js.map +1 -1
  43. package/esm/utils/index.d.ts +1 -1
  44. package/esm/utils/index.js +6 -4
  45. package/esm/utils/index.js.map +1 -1
  46. package/lib/controllers/category.d.ts +27 -11
  47. package/lib/controllers/index.d.ts +1 -1
  48. package/lib/controllers/index.js +4 -0
  49. package/lib/controllers/index.js.map +1 -1
  50. package/lib/controllers/link.d.ts +1 -1
  51. package/lib/controllers/link.js +1 -1
  52. package/lib/controllers/link.js.map +1 -1
  53. package/lib/controllers/recently.d.ts +1 -1
  54. package/lib/controllers/recently.js +1 -1
  55. package/lib/controllers/recently.js.map +1 -1
  56. package/lib/controllers/user.d.ts +1 -1
  57. package/lib/controllers/user.js +1 -1
  58. package/lib/controllers/user.js.map +1 -1
  59. package/lib/core/client.d.ts +20 -2
  60. package/lib/core/client.js +46 -25
  61. package/lib/core/client.js.map +1 -1
  62. package/lib/index.d.ts +1 -0
  63. package/lib/index.js +1 -0
  64. package/lib/index.js.map +1 -1
  65. package/lib/interfaces/controller.d.ts +1 -1
  66. package/lib/interfaces/request.d.ts +2 -2
  67. package/lib/models/aggregate.d.ts +6 -1
  68. package/lib/models/aggregate.js.map +1 -1
  69. package/lib/models/index.d.ts +14 -0
  70. package/lib/models/index.js +27 -0
  71. package/lib/models/index.js.map +1 -0
  72. package/lib/models/link.d.ts +2 -3
  73. package/lib/models/link.js +3 -5
  74. package/lib/models/link.js.map +1 -1
  75. package/lib/utils/index.d.ts +1 -1
  76. package/lib/utils/index.js +6 -4
  77. package/lib/utils/index.js.map +1 -1
  78. package/package.json +2 -2
  79. package/esm/core/define.d.ts +0 -19
  80. package/esm/core/define.js +0 -12
  81. package/esm/core/define.js.map +0 -1
  82. package/lib/core/define.d.ts +0 -19
  83. package/lib/core/define.js +0 -16
  84. package/lib/core/define.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.min.js","sources":["../src/utils/index.ts","../src/utils/auto-bind.ts","../src/controllers/aggregate.ts","../src/core/error.ts","../src/models/category.ts","../src/controllers/category.ts","../src/controllers/comment.ts","../src/controllers/base.ts","../src/controllers/link.ts","../src/controllers/note.ts","../src/controllers/page.ts","../src/controllers/post.ts","../src/controllers/project.ts","../src/controllers/recently.ts","../src/controllers/say.ts","../src/controllers/search.ts","../src/controllers/snippet.ts","../src/controllers/user.ts","../src/controllers/index.ts","../node_modules/.pnpm/map-obj@4.3.0/node_modules/map-obj/index.js","../node_modules/.pnpm/camelcase@6.2.0/node_modules/camelcase/index.js","../node_modules/.pnpm/quick-lru@5.1.1/node_modules/quick-lru/index.js","../node_modules/.pnpm/camelcase-keys@7.0.1/node_modules/camelcase-keys/index.js","../src/core/attachRequest.ts","../src/core/client.ts","../src/core/define.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'use strict';\n\nconst isObject = value => typeof value === 'object' && value !== null;\nconst mapObjectSkip = Symbol('skip');\n\n// Customized for this use-case\nconst isObjectCustom = value =>\n\tisObject(value) &&\n\t!(value instanceof RegExp) &&\n\t!(value instanceof Error) &&\n\t!(value instanceof Date);\n\nconst mapObject = (object, mapper, options, isSeen = new WeakMap()) => {\n\toptions = {\n\t\tdeep: false,\n\t\ttarget: {},\n\t\t...options\n\t};\n\n\tif (isSeen.has(object)) {\n\t\treturn isSeen.get(object);\n\t}\n\n\tisSeen.set(object, options.target);\n\n\tconst {target} = options;\n\tdelete options.target;\n\n\tconst mapArray = array => array.map(element => isObjectCustom(element) ? mapObject(element, mapper, options, isSeen) : element);\n\tif (Array.isArray(object)) {\n\t\treturn mapArray(object);\n\t}\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tconst mapResult = mapper(key, value, object);\n\n\t\tif (mapResult === mapObjectSkip) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [newKey, newValue, {shouldRecurse = true} = {}] = mapResult;\n\n\t\t// Drop `__proto__` keys.\n\t\tif (newKey === '__proto__') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (options.deep && shouldRecurse && isObjectCustom(newValue)) {\n\t\t\tnewValue = Array.isArray(newValue) ?\n\t\t\t\tmapArray(newValue) :\n\t\t\t\tmapObject(newValue, mapper, options, isSeen);\n\t\t}\n\n\t\ttarget[newKey] = newValue;\n\t}\n\n\treturn target;\n};\n\nmodule.exports = (object, mapper, options) => {\n\tif (!isObject(object)) {\n\t\tthrow new TypeError(`Expected an object, got \\`${object}\\` (${typeof object})`);\n\t}\n\n\treturn mapObject(object, mapper, options);\n};\n\nmodule.exports.mapObjectSkip = mapObjectSkip;\n","'use strict';\n\nconst preserveCamelCase = (string, locale) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[\\p{Lu}]/u.test(character)) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[\\p{Ll}]/u.test(character)) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLocaleLowerCase(locale) === character && character.toLocaleUpperCase(locale) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toLocaleUpperCase(locale) === character && character.toLocaleLowerCase(locale) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = input => {\n\treturn input.replace(/^[\\p{Lu}](?![\\p{Lu}])/gu, m1 => m1.toLowerCase());\n};\n\nconst postProcess = (input, options) => {\n\treturn input.replace(/[_.\\- ]+([\\p{Alpha}\\p{N}_]|$)/gu, (_, p1) => p1.toLocaleUpperCase(options.locale))\n\t\t.replace(/\\d+([\\p{Alpha}\\p{N}_]|$)/gu, m => m.toLocaleUpperCase(options.locale));\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toLocaleUpperCase(options.locale) : input.toLocaleLowerCase(options.locale);\n\t}\n\n\tconst hasUpperCase = input !== input.toLocaleLowerCase(options.locale);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, options.locale);\n\t}\n\n\tinput = input.replace(/^[_.\\- ]+/, '');\n\n\tif (options.preserveConsecutiveUppercase) {\n\t\tinput = preserveConsecutiveUppercase(input);\n\t} else {\n\t\tinput = input.toLocaleLowerCase();\n\t}\n\n\tif (options.pascalCase) {\n\t\tinput = input.charAt(0).toLocaleUpperCase(options.locale) + input.slice(1);\n\t}\n\n\treturn postProcess(input, options);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","'use strict';\n\nclass QuickLRU {\n\tconstructor(options = {}) {\n\t\tif (!(options.maxSize && options.maxSize > 0)) {\n\t\t\tthrow new TypeError('`maxSize` must be a number greater than 0');\n\t\t}\n\n\t\tthis.maxSize = options.maxSize;\n\t\tthis.onEviction = options.onEviction;\n\t\tthis.cache = new Map();\n\t\tthis.oldCache = new Map();\n\t\tthis._size = 0;\n\t}\n\n\t_set(key, value) {\n\t\tthis.cache.set(key, value);\n\t\tthis._size++;\n\n\t\tif (this._size >= this.maxSize) {\n\t\t\tthis._size = 0;\n\n\t\t\tif (typeof this.onEviction === 'function') {\n\t\t\t\tfor (const [key, value] of this.oldCache.entries()) {\n\t\t\t\t\tthis.onEviction(key, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.oldCache = this.cache;\n\t\t\tthis.cache = new Map();\n\t\t}\n\t}\n\n\tget(key) {\n\t\tif (this.cache.has(key)) {\n\t\t\treturn this.cache.get(key);\n\t\t}\n\n\t\tif (this.oldCache.has(key)) {\n\t\t\tconst value = this.oldCache.get(key);\n\t\t\tthis.oldCache.delete(key);\n\t\t\tthis._set(key, value);\n\t\t\treturn value;\n\t\t}\n\t}\n\n\tset(key, value) {\n\t\tif (this.cache.has(key)) {\n\t\t\tthis.cache.set(key, value);\n\t\t} else {\n\t\t\tthis._set(key, value);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\thas(key) {\n\t\treturn this.cache.has(key) || this.oldCache.has(key);\n\t}\n\n\tpeek(key) {\n\t\tif (this.cache.has(key)) {\n\t\t\treturn this.cache.get(key);\n\t\t}\n\n\t\tif (this.oldCache.has(key)) {\n\t\t\treturn this.oldCache.get(key);\n\t\t}\n\t}\n\n\tdelete(key) {\n\t\tconst deleted = this.cache.delete(key);\n\t\tif (deleted) {\n\t\t\tthis._size--;\n\t\t}\n\n\t\treturn this.oldCache.delete(key) || deleted;\n\t}\n\n\tclear() {\n\t\tthis.cache.clear();\n\t\tthis.oldCache.clear();\n\t\tthis._size = 0;\n\t}\n\n\t* keys() {\n\t\tfor (const [key] of this) {\n\t\t\tyield key;\n\t\t}\n\t}\n\n\t* values() {\n\t\tfor (const [, value] of this) {\n\t\t\tyield value;\n\t\t}\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tfor (const item of this.cache) {\n\t\t\tyield item;\n\t\t}\n\n\t\tfor (const item of this.oldCache) {\n\t\t\tconst [key] = item;\n\t\t\tif (!this.cache.has(key)) {\n\t\t\t\tyield item;\n\t\t\t}\n\t\t}\n\t}\n\n\tget size() {\n\t\tlet oldCacheSize = 0;\n\t\tfor (const key of this.oldCache.keys()) {\n\t\t\tif (!this.cache.has(key)) {\n\t\t\t\toldCacheSize++;\n\t\t\t}\n\t\t}\n\n\t\treturn Math.min(this._size + oldCacheSize, this.maxSize);\n\t}\n}\n\nmodule.exports = QuickLRU;\n","'use strict';\nconst mapObj = require('map-obj');\nconst camelCase = require('camelcase');\nconst QuickLru = require('quick-lru');\n\nconst has = (array, key) => array.some(x => {\n\tif (typeof x === 'string') {\n\t\treturn x === key;\n\t}\n\n\tx.lastIndex = 0;\n\treturn x.test(key);\n});\n\nconst cache = new QuickLru({maxSize: 100000});\n\n// Reproduces behavior from `map-obj`\nconst isObject = value =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t!(value instanceof RegExp) &&\n\t!(value instanceof Error) &&\n\t!(value instanceof Date);\n\nconst camelCaseConvert = (input, options) => {\n\tif (!isObject(input)) {\n\t\treturn input;\n\t}\n\n\toptions = {\n\t\tdeep: false,\n\t\tpascalCase: false,\n\t\t...options\n\t};\n\n\tconst {exclude, pascalCase, stopPaths, deep} = options;\n\n\tconst stopPathsSet = new Set(stopPaths);\n\n\tconst makeMapper = parentPath => (key, value) => {\n\t\tif (deep && isObject(value)) {\n\t\t\tconst path = parentPath === undefined ? key : `${parentPath}.${key}`;\n\n\t\t\tif (!stopPathsSet.has(path)) {\n\t\t\t\tvalue = mapObj(value, makeMapper(path));\n\t\t\t}\n\t\t}\n\n\t\tif (!(exclude && has(exclude, key))) {\n\t\t\tconst cacheKey = pascalCase ? `${key}_` : key;\n\n\t\t\tif (cache.has(cacheKey)) {\n\t\t\t\tkey = cache.get(cacheKey);\n\t\t\t} else {\n\t\t\t\tconst returnValue = camelCase(key, {pascalCase});\n\n\t\t\t\tif (key.length < 100) { // Prevent abuse\n\t\t\t\t\tcache.set(cacheKey, returnValue);\n\t\t\t\t}\n\n\t\t\t\tkey = returnValue;\n\t\t\t}\n\t\t}\n\n\t\treturn [key, value];\n\t};\n\n\treturn mapObj(input, makeMapper(undefined));\n};\n\nmodule.exports = (input, options) => {\n\tif (Array.isArray(input)) {\n\t\treturn Object.keys(input).map(key => camelCaseConvert(input[key], options));\n\t}\n\n\treturn camelCaseConvert(input, options);\n};\n",null,null,null],"names":["attachRawFromOneToAnthor","from","to","$raw","Object","defineProperty","value","enumerable","$request","autoBind","self","include","exclude","filter","key","match","pattern","test","some","object","properties","Set","Reflect","ownKeys","add","getPrototypeOf","prototype","getAllProperties","constructor","descriptor","getOwnPropertyDescriptor","bind","AggregateController","[object Object]","client","this","proxy","base","get","size","top","params","options","sort","type","year","timeline","order","asc","desc","stat","RequestError","Error","message","status","path","raw","super","CategoryType","CategoryController","Category","Tag","ids","data","result","values","entries","Array","isArray","join","map","Map","id","toLowerCase","idOrSlug","payload","toString","call","keys","length","d","assign","destructureData","name","tag","CommentController","refId","pagination","page","ref","post","commentId","reply","BaseCrudController","all","perPage","LinkController","NoteController","latest","password","nid","select","sortBy","sortOrder","list","like","PageController","slug","PostController","idOrCategoryName","arguments","ProjectController","RecentlyController","before","after","SayController","random","SearchController","keyword","SnippetController","reference","UserController","username","login","token","check_logged","allControllers","allContollerNames","isObject","mapObjectSkip","Symbol","isObjectCustom","RegExp","Date","mapObject","mapper","isSeen","WeakMap","deep","target","has","set","mapArray","array","element","mapResult","newKey","newValue","shouldRecurse","mapObjModule","TypeError","camelCase","input","pascalCase","preserveConsecutiveUppercase","x","trim","toLocaleUpperCase","locale","toLocaleLowerCase","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","i","character","slice","preserveCamelCase","replace","m1","charAt","_","p1","m","postProcess","camelcaseModule","QuickLRU","maxSize","onEviction","cache","oldCache","_size","delete","_set","deleted","clear","iterator","item","oldCacheSize","Math","min","quickLru","mapObj","require$$0","require$$1","require$$2","camelCaseConvert","stopPaths","stopPathsSet","makeMapper","parentPath","undefined","lastIndex","cacheKey","returnValue","attachRequestMethod","url","qs","obj","URLSearchParams","search","forEach","k","v","handleSearchParams","instance","method","HTTPClient","master","user","friend","link","shorthand","recently","_endpoint","_adaptor","_proxy","buildRoute","initGetClient","clientsName","ReferenceError","toUpperCase","configurable","Controller","rest","Client","cl","endpoint","String","startsWith","manager","noop","methods","reflectors","toPrimitive","for","that","route","handler","includes","async","resolveFullPath","res","request","e","code","statusCode","response","transform","camelcaseKeys","push","Proxy","apply","args","adapter","controllers","injectControllers"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.min.js","sources":["../src/utils/index.ts","../src/utils/auto-bind.ts","../src/controllers/aggregate.ts","../src/core/error.ts","../src/models/category.ts","../src/controllers/category.ts","../src/controllers/comment.ts","../src/controllers/base.ts","../src/controllers/link.ts","../src/controllers/note.ts","../src/controllers/page.ts","../src/controllers/post.ts","../src/controllers/project.ts","../src/controllers/recently.ts","../src/controllers/say.ts","../src/controllers/search.ts","../src/controllers/snippet.ts","../src/controllers/user.ts","../src/controllers/index.ts","../node_modules/.pnpm/map-obj@4.3.0/node_modules/map-obj/index.js","../node_modules/.pnpm/camelcase@6.2.0/node_modules/camelcase/index.js","../node_modules/.pnpm/quick-lru@5.1.1/node_modules/quick-lru/index.js","../node_modules/.pnpm/camelcase-keys@7.0.1/node_modules/camelcase-keys/index.js","../src/core/attachRequest.ts","../src/core/client.ts","../src/models/aggregate.ts","../src/models/comment.ts","../src/models/link.ts","../src/models/page.ts","../src/models/snippet.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'use strict';\n\nconst isObject = value => typeof value === 'object' && value !== null;\nconst mapObjectSkip = Symbol('skip');\n\n// Customized for this use-case\nconst isObjectCustom = value =>\n\tisObject(value) &&\n\t!(value instanceof RegExp) &&\n\t!(value instanceof Error) &&\n\t!(value instanceof Date);\n\nconst mapObject = (object, mapper, options, isSeen = new WeakMap()) => {\n\toptions = {\n\t\tdeep: false,\n\t\ttarget: {},\n\t\t...options\n\t};\n\n\tif (isSeen.has(object)) {\n\t\treturn isSeen.get(object);\n\t}\n\n\tisSeen.set(object, options.target);\n\n\tconst {target} = options;\n\tdelete options.target;\n\n\tconst mapArray = array => array.map(element => isObjectCustom(element) ? mapObject(element, mapper, options, isSeen) : element);\n\tif (Array.isArray(object)) {\n\t\treturn mapArray(object);\n\t}\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tconst mapResult = mapper(key, value, object);\n\n\t\tif (mapResult === mapObjectSkip) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [newKey, newValue, {shouldRecurse = true} = {}] = mapResult;\n\n\t\t// Drop `__proto__` keys.\n\t\tif (newKey === '__proto__') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (options.deep && shouldRecurse && isObjectCustom(newValue)) {\n\t\t\tnewValue = Array.isArray(newValue) ?\n\t\t\t\tmapArray(newValue) :\n\t\t\t\tmapObject(newValue, mapper, options, isSeen);\n\t\t}\n\n\t\ttarget[newKey] = newValue;\n\t}\n\n\treturn target;\n};\n\nmodule.exports = (object, mapper, options) => {\n\tif (!isObject(object)) {\n\t\tthrow new TypeError(`Expected an object, got \\`${object}\\` (${typeof object})`);\n\t}\n\n\treturn mapObject(object, mapper, options);\n};\n\nmodule.exports.mapObjectSkip = mapObjectSkip;\n","'use strict';\n\nconst preserveCamelCase = (string, locale) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[\\p{Lu}]/u.test(character)) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[\\p{Ll}]/u.test(character)) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLocaleLowerCase(locale) === character && character.toLocaleUpperCase(locale) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toLocaleUpperCase(locale) === character && character.toLocaleLowerCase(locale) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = input => {\n\treturn input.replace(/^[\\p{Lu}](?![\\p{Lu}])/gu, m1 => m1.toLowerCase());\n};\n\nconst postProcess = (input, options) => {\n\treturn input.replace(/[_.\\- ]+([\\p{Alpha}\\p{N}_]|$)/gu, (_, p1) => p1.toLocaleUpperCase(options.locale))\n\t\t.replace(/\\d+([\\p{Alpha}\\p{N}_]|$)/gu, m => m.toLocaleUpperCase(options.locale));\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toLocaleUpperCase(options.locale) : input.toLocaleLowerCase(options.locale);\n\t}\n\n\tconst hasUpperCase = input !== input.toLocaleLowerCase(options.locale);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, options.locale);\n\t}\n\n\tinput = input.replace(/^[_.\\- ]+/, '');\n\n\tif (options.preserveConsecutiveUppercase) {\n\t\tinput = preserveConsecutiveUppercase(input);\n\t} else {\n\t\tinput = input.toLocaleLowerCase();\n\t}\n\n\tif (options.pascalCase) {\n\t\tinput = input.charAt(0).toLocaleUpperCase(options.locale) + input.slice(1);\n\t}\n\n\treturn postProcess(input, options);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","'use strict';\n\nclass QuickLRU {\n\tconstructor(options = {}) {\n\t\tif (!(options.maxSize && options.maxSize > 0)) {\n\t\t\tthrow new TypeError('`maxSize` must be a number greater than 0');\n\t\t}\n\n\t\tthis.maxSize = options.maxSize;\n\t\tthis.onEviction = options.onEviction;\n\t\tthis.cache = new Map();\n\t\tthis.oldCache = new Map();\n\t\tthis._size = 0;\n\t}\n\n\t_set(key, value) {\n\t\tthis.cache.set(key, value);\n\t\tthis._size++;\n\n\t\tif (this._size >= this.maxSize) {\n\t\t\tthis._size = 0;\n\n\t\t\tif (typeof this.onEviction === 'function') {\n\t\t\t\tfor (const [key, value] of this.oldCache.entries()) {\n\t\t\t\t\tthis.onEviction(key, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.oldCache = this.cache;\n\t\t\tthis.cache = new Map();\n\t\t}\n\t}\n\n\tget(key) {\n\t\tif (this.cache.has(key)) {\n\t\t\treturn this.cache.get(key);\n\t\t}\n\n\t\tif (this.oldCache.has(key)) {\n\t\t\tconst value = this.oldCache.get(key);\n\t\t\tthis.oldCache.delete(key);\n\t\t\tthis._set(key, value);\n\t\t\treturn value;\n\t\t}\n\t}\n\n\tset(key, value) {\n\t\tif (this.cache.has(key)) {\n\t\t\tthis.cache.set(key, value);\n\t\t} else {\n\t\t\tthis._set(key, value);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\thas(key) {\n\t\treturn this.cache.has(key) || this.oldCache.has(key);\n\t}\n\n\tpeek(key) {\n\t\tif (this.cache.has(key)) {\n\t\t\treturn this.cache.get(key);\n\t\t}\n\n\t\tif (this.oldCache.has(key)) {\n\t\t\treturn this.oldCache.get(key);\n\t\t}\n\t}\n\n\tdelete(key) {\n\t\tconst deleted = this.cache.delete(key);\n\t\tif (deleted) {\n\t\t\tthis._size--;\n\t\t}\n\n\t\treturn this.oldCache.delete(key) || deleted;\n\t}\n\n\tclear() {\n\t\tthis.cache.clear();\n\t\tthis.oldCache.clear();\n\t\tthis._size = 0;\n\t}\n\n\t* keys() {\n\t\tfor (const [key] of this) {\n\t\t\tyield key;\n\t\t}\n\t}\n\n\t* values() {\n\t\tfor (const [, value] of this) {\n\t\t\tyield value;\n\t\t}\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tfor (const item of this.cache) {\n\t\t\tyield item;\n\t\t}\n\n\t\tfor (const item of this.oldCache) {\n\t\t\tconst [key] = item;\n\t\t\tif (!this.cache.has(key)) {\n\t\t\t\tyield item;\n\t\t\t}\n\t\t}\n\t}\n\n\tget size() {\n\t\tlet oldCacheSize = 0;\n\t\tfor (const key of this.oldCache.keys()) {\n\t\t\tif (!this.cache.has(key)) {\n\t\t\t\toldCacheSize++;\n\t\t\t}\n\t\t}\n\n\t\treturn Math.min(this._size + oldCacheSize, this.maxSize);\n\t}\n}\n\nmodule.exports = QuickLRU;\n","'use strict';\nconst mapObj = require('map-obj');\nconst camelCase = require('camelcase');\nconst QuickLru = require('quick-lru');\n\nconst has = (array, key) => array.some(x => {\n\tif (typeof x === 'string') {\n\t\treturn x === key;\n\t}\n\n\tx.lastIndex = 0;\n\treturn x.test(key);\n});\n\nconst cache = new QuickLru({maxSize: 100000});\n\n// Reproduces behavior from `map-obj`\nconst isObject = value =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t!(value instanceof RegExp) &&\n\t!(value instanceof Error) &&\n\t!(value instanceof Date);\n\nconst camelCaseConvert = (input, options) => {\n\tif (!isObject(input)) {\n\t\treturn input;\n\t}\n\n\toptions = {\n\t\tdeep: false,\n\t\tpascalCase: false,\n\t\t...options\n\t};\n\n\tconst {exclude, pascalCase, stopPaths, deep} = options;\n\n\tconst stopPathsSet = new Set(stopPaths);\n\n\tconst makeMapper = parentPath => (key, value) => {\n\t\tif (deep && isObject(value)) {\n\t\t\tconst path = parentPath === undefined ? key : `${parentPath}.${key}`;\n\n\t\t\tif (!stopPathsSet.has(path)) {\n\t\t\t\tvalue = mapObj(value, makeMapper(path));\n\t\t\t}\n\t\t}\n\n\t\tif (!(exclude && has(exclude, key))) {\n\t\t\tconst cacheKey = pascalCase ? `${key}_` : key;\n\n\t\t\tif (cache.has(cacheKey)) {\n\t\t\t\tkey = cache.get(cacheKey);\n\t\t\t} else {\n\t\t\t\tconst returnValue = camelCase(key, {pascalCase});\n\n\t\t\t\tif (key.length < 100) { // Prevent abuse\n\t\t\t\t\tcache.set(cacheKey, returnValue);\n\t\t\t\t}\n\n\t\t\t\tkey = returnValue;\n\t\t\t}\n\t\t}\n\n\t\treturn [key, value];\n\t};\n\n\treturn mapObj(input, makeMapper(undefined));\n};\n\nmodule.exports = (input, options) => {\n\tif (Array.isArray(input)) {\n\t\treturn Object.keys(input).map(key => camelCaseConvert(input[key], options));\n\t}\n\n\treturn camelCaseConvert(input, options);\n};\n",null,null,null,null,null,null,null],"names":["isPlainObject","obj","isObject","Object","prototype","toString","call","getPrototypeOf","attachRawFromOneToAnthor","from","to","$raw","defineProperty","value","enumerable","$request","autoBind","self","include","exclude","filter","key","match","pattern","test","some","object","properties","Set","Reflect","ownKeys","add","getAllProperties","constructor","descriptor","getOwnPropertyDescriptor","bind","AggregateController","[object Object]","client","this","proxy","base","get","size","top","params","options","sort","type","year","timeline","order","asc","desc","stat","RequestError","Error","message","status","path","raw","super","CategoryType","CategoryController","Category","Tag","ids","data","result","values","entries","Array","isArray","join","map","Map","id","toLowerCase","idOrSlug","payload","keys","length","d","assign","destructureData","name","tag","CommentController","refId","pagination","page","ref","post","commentId","reply","BaseCrudController","all","perPage","LinkController","NoteController","latest","password","nid","select","sortBy","sortOrder","list","like","PageController","slug","PostController","idOrCategoryName","arguments","ProjectController","RecentlyController","before","after","SayController","random","SearchController","keyword","SnippetController","reference","UserController","username","login","token","check_logged","allControllers","allContollerNames","mapObjectSkip","Symbol","isObjectCustom","RegExp","Date","mapObject","mapper","isSeen","WeakMap","deep","target","has","set","mapArray","array","element","mapResult","newKey","newValue","shouldRecurse","mapObjModule","TypeError","camelCase","input","pascalCase","preserveConsecutiveUppercase","x","trim","toLocaleUpperCase","locale","toLocaleLowerCase","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","i","character","slice","preserveCamelCase","replace","m1","charAt","_","p1","m","postProcess","camelcaseModule","QuickLRU","maxSize","onEviction","cache","oldCache","_size","delete","_set","deleted","clear","iterator","item","oldCacheSize","Math","min","quickLru","mapObj","require$$0","require$$1","require$$2","camelCaseConvert","stopPaths","stopPathsSet","makeMapper","parentPath","undefined","lastIndex","cacheKey","returnValue","attachRequestMethod","url","qs","URLSearchParams","search","forEach","k","v","handleSearchParams","instance","method","HTTPClient","_endpoint","_adaptor","_proxy","buildRoute","initGetClient","ReferenceError","toUpperCase","configurable","Controller","rest","Client","cl","attach","endpoint","String","startsWith","manager","noop","methods","reflectors","toPrimitive","for","that","route","handler","includes","async","resolveFullPath","res","request","e","code","statusCode","response","transform","camelcaseKeys","push","Proxy","apply","args","TimelineType","RefType","CommentState","LinkType","LinkState","EnumPageType","SnippetType","adapter","controllers","injectControllers"],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  export interface IController {
4
4
  base: string;
5
- name: string;
5
+ name: string | string[];
6
6
  }
7
7
  export declare type SortOrder = "asc" | "desc";
8
8
  export interface RequestOptions {
@@ -39,14 +39,14 @@ export declare type RequestProxyResult<T, R = {
39
39
  data: T;
40
40
  [key: string]: any;
41
41
  }> = Promise<ResponseProxyExtraRaw<T, R>>;
42
- export declare type ResponseProxyExtraRaw<T, R = any> = T & {
42
+ export declare type ResponseProxyExtraRaw<T, R = any> = T extends object ? T & {
43
43
  $raw: R;
44
44
  $request: {
45
45
  path: string;
46
46
  method: string;
47
47
  [k: string]: string;
48
48
  };
49
- };
49
+ } : T;
50
50
  export interface Count {
51
51
  read: number;
52
52
  like: number;
@@ -97,7 +97,7 @@ export interface PostModel extends TextBaseModel {
97
97
  images: Image[];
98
98
  category: CategoryModel;
99
99
  }
100
- declare enum CategoryType {
100
+ export declare enum CategoryType {
101
101
  Category = 0,
102
102
  Tag = 1
103
103
  }
@@ -110,6 +110,9 @@ export interface CategoryModel extends BaseModel {
110
110
  export declare type CategoryWithChildrenModel = CategoryModel & {
111
111
  children: Pick<PostModel, "id" | "title" | "slug" | "modified" | "created">[];
112
112
  };
113
+ export declare type CategoryEntries = {
114
+ entries: Record<string, CategoryWithChildrenModel>;
115
+ };
113
116
  export interface TagModel {
114
117
  count: number;
115
118
  name: string;
@@ -143,7 +146,7 @@ export interface NoteWrappedPayload {
143
146
  next?: Partial<NoteModel>;
144
147
  prev?: Partial<NoteModel>;
145
148
  }
146
- declare enum EnumPageType {
149
+ export declare enum EnumPageType {
147
150
  "md" = "md",
148
151
  "html" = "html",
149
152
  "frame" = "frame"
@@ -161,12 +164,71 @@ export interface SayModel extends BaseModel {
161
164
  source?: string;
162
165
  author?: string;
163
166
  }
164
- declare class SeoOptionModel {
167
+ export declare class SeoOptionModel {
165
168
  title: string;
166
169
  description: string;
167
170
  icon?: string;
168
171
  keywords?: string[];
169
172
  }
173
+ export declare class UrlOptionModel {
174
+ webUrl: string;
175
+ adminUrl: string;
176
+ serverUrl: string;
177
+ wsUrl: string;
178
+ }
179
+ declare class MailOptionModel {
180
+ port: number;
181
+ host: string;
182
+ }
183
+ export declare class MailOptionsModel {
184
+ enable: boolean;
185
+ user: string;
186
+ pass: string;
187
+ options?: MailOptionModel;
188
+ }
189
+ export declare class CommentOptionsModel {
190
+ antiSpam: boolean;
191
+ spamKeywords?: string[];
192
+ blockIps?: string[];
193
+ disableNoChinese?: boolean;
194
+ }
195
+ export declare class BackupOptionsModel {
196
+ enable: boolean;
197
+ secretId?: string;
198
+ secretKey?: string;
199
+ bucket?: string;
200
+ region: string;
201
+ }
202
+ export declare class BaiduSearchOptionsModel {
203
+ enable: boolean;
204
+ token?: string;
205
+ }
206
+ export declare class AlgoliaSearchOptionsModel {
207
+ enable: boolean;
208
+ apiKey?: string;
209
+ appId?: string;
210
+ indexName?: string;
211
+ }
212
+ export declare class AdminExtraModel {
213
+ background?: string;
214
+ gaodemapKey?: string;
215
+ title?: string;
216
+ /**
217
+ * 是否开启后台反代访问
218
+ */
219
+ enableAdminProxy?: boolean;
220
+ }
221
+ export interface IConfig {
222
+ seo: SeoOptionModel;
223
+ url: UrlOptionModel;
224
+ mailOptions: MailOptionsModel;
225
+ commentOptions: CommentOptionsModel;
226
+ backupOptions: BackupOptionsModel;
227
+ baiduSearchOptions: BaiduSearchOptionsModel;
228
+ algoliaSearchOptions: AlgoliaSearchOptionsModel;
229
+ adminExtra: AdminExtraModel;
230
+ }
231
+ export declare type IConfigKeys = keyof IConfig;
170
232
  export interface UserModel extends BaseModel {
171
233
  introduce: string;
172
234
  mail: string;
@@ -195,16 +257,21 @@ export declare type TLogin = {
195
257
  export interface AggregateRoot {
196
258
  user: UserModel;
197
259
  seo: SeoOptionModel;
260
+ url: Url;
198
261
  categories: CategoryModel[];
199
262
  pageMeta: Pick<PageModel, "title" | "id" | "slug" | "order">[] | null;
200
- lastestNoteNid: number | null;
263
+ }
264
+ export interface Url {
265
+ wsUrl: string;
266
+ serverUrl: string;
267
+ webUrl: string;
201
268
  }
202
269
  export interface AggregateTop {
203
270
  notes: Pick<NoteModel, "id" | "title" | "created" | "nid">[];
204
271
  posts: Pick<PostModel, "id" | "slug" | "created" | "title" | "category">[];
205
272
  says: SayModel[];
206
273
  }
207
- declare enum TimelineType {
274
+ export declare enum TimelineType {
208
275
  Post = 0,
209
276
  Note = 1
210
277
  }
@@ -238,7 +305,7 @@ export type SelectFields<T extends string> = `${"+" | "-" | ""}${T}`[];
238
305
  export declare type ClientOptions = {
239
306
  controllers?: Class<IController>[];
240
307
  };
241
- declare class HTTPControllerDefine {
308
+ export interface HTTPClient {
242
309
  aggregate: AggregateController;
243
310
  category: CategoryController;
244
311
  comment: CommentController;
@@ -252,11 +319,11 @@ declare class HTTPControllerDefine {
252
319
  search: SearchController;
253
320
  snippet: SnippetController;
254
321
  user: UserController;
255
- get master(): UserController;
256
- get friend(): LinkController;
257
- get shorthand(): RecentlyController;
322
+ master: HTTPClient["user"];
323
+ friend: HTTPClient["link"];
324
+ shorthand: HTTPClient["recently"];
258
325
  }
259
- export declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter> extends HTTPControllerDefine {
326
+ export declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter> {
260
327
  private _endpoint;
261
328
  private _adaptor;
262
329
  private _proxy;
@@ -334,26 +401,42 @@ export declare class CategoryController implements IController {
334
401
  }>;
335
402
  getCategoryDetail(id: string): Promise<ResponseProxyExtraRaw<CategoryWithChildrenModel>>;
336
403
  getCategoryDetail(ids: string[]): Promise<ResponseProxyExtraRaw<Map<string, CategoryWithChildrenModel>>>;
337
- getCategoryByIdOrSlug(idOrSlug: string): Promise<ResponseProxyExtraRaw<CategoryWithChildrenModel, {
338
- [key: string]: any;
339
- data: CategoryWithChildrenModel;
340
- }>>;
341
- getTagByName(name: string): Promise<ResponseProxyExtraRaw<{
404
+ getCategoryByIdOrSlug(idOrSlug: string): Promise<CategoryModel & {
405
+ children: Pick<PostModel, "id" | "title" | "slug" | "modified" | "created">[];
406
+ } & {
407
+ $raw: {
408
+ [key: string]: any;
409
+ data: CategoryWithChildrenModel;
410
+ };
411
+ $request: {
412
+ [k: string]: string;
413
+ path: string;
414
+ method: string;
415
+ };
416
+ }>;
417
+ getTagByName(name: string): Promise<{
342
418
  tag: string;
343
419
  data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
344
- }, {
345
- [key: string]: any;
346
- data: {
347
- tag: string;
348
- data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
420
+ } & {
421
+ $raw: {
422
+ [key: string]: any;
423
+ data: {
424
+ tag: string;
425
+ data: Pick<PostModel, "id" | "title" | "slug" | "category" | "created">[];
426
+ };
349
427
  };
350
- }>>;
428
+ $request: {
429
+ [k: string]: string;
430
+ path: string;
431
+ method: string;
432
+ };
433
+ }>;
351
434
  }
352
435
  export interface PaginationParams {
353
436
  size?: number;
354
437
  page?: number;
355
438
  }
356
- declare enum RefType {
439
+ export declare enum RefType {
357
440
  Page = "Page",
358
441
  Post = "Post",
359
442
  Note = "Note"
@@ -373,6 +456,18 @@ export interface CommentModel extends BaseModel {
373
456
  parent?: CommentModel | string;
374
457
  children: CommentModel[];
375
458
  }
459
+ export interface CommentRef {
460
+ id: string;
461
+ categoryId?: string;
462
+ slug: string;
463
+ title: string;
464
+ category?: CategoryModel;
465
+ }
466
+ export declare enum CommentState {
467
+ Unread = 0,
468
+ Read = 1,
469
+ Junk = 2
470
+ }
376
471
  declare class CommentDto {
377
472
  author: string;
378
473
  text: string;
@@ -416,11 +511,11 @@ export declare class CommentController implements IController {
416
511
  data: CommentModel;
417
512
  }>;
418
513
  }
419
- declare enum LinkType {
514
+ export declare enum LinkType {
420
515
  Friend = 0,
421
516
  Collection = 1
422
517
  }
423
- declare enum LinkState {
518
+ export declare enum LinkState {
424
519
  Pass = 0,
425
520
  Audit = 1
426
521
  }
@@ -460,7 +555,7 @@ declare abstract class BaseCrudController<T> {
460
555
  export declare class LinkController extends BaseCrudController<LinkModel> {
461
556
  protected readonly client: HTTPClient;
462
557
  constructor(client: HTTPClient);
463
- name: string;
558
+ name: string[];
464
559
  base: string;
465
560
  }
466
561
  export declare type NoteListOptions = {
@@ -623,7 +718,7 @@ export interface RecentlyModel extends BaseModel {
623
718
  export declare class RecentlyController implements IController {
624
719
  private readonly client;
625
720
  base: string;
626
- name: string;
721
+ name: string[];
627
722
  constructor(client: HTTPClient);
628
723
  get proxy(): IRequestHandler;
629
724
  /**
@@ -719,7 +814,7 @@ export declare class SearchController implements IController {
719
814
  }>;
720
815
  }>;
721
816
  }
722
- declare enum SnippetType {
817
+ export declare enum SnippetType {
723
818
  JSON = "json",
724
819
  Text = "text",
725
820
  YAML = "yaml"
@@ -753,7 +848,7 @@ export declare class UserController implements IController {
753
848
  private readonly client;
754
849
  constructor(client: HTTPClient);
755
850
  base: string;
756
- name: string;
851
+ name: string[];
757
852
  get proxy(): IRequestHandler;
758
853
  getMasterInfo(): RequestProxyResult<UserModel, {
759
854
  [key: string]: any;
@@ -775,6 +870,23 @@ export declare class UserController implements IController {
775
870
  }>;
776
871
  }
777
872
  export declare const allControllers: (typeof AggregateController | typeof CategoryController | typeof CommentController | typeof LinkController | typeof NoteController | typeof PageController | typeof PostController | typeof ProjectController | typeof RecentlyController | typeof SayController | typeof SearchController | typeof SnippetController | typeof UserController)[];
778
- export declare const allContollerNames: string[];
873
+ export declare const allContollerNames: readonly [
874
+ "aggregate",
875
+ "category",
876
+ "comment",
877
+ "link",
878
+ "note",
879
+ "page",
880
+ "post",
881
+ "project",
882
+ "recently",
883
+ "say",
884
+ "search",
885
+ "snippet",
886
+ "user",
887
+ "friend",
888
+ "master",
889
+ "shorthand"
890
+ ];
779
891
 
780
892
  export {};