@mx-space/api-client 0.2.0 → 0.3.3

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 (138) hide show
  1. package/build/index.cjs.js +182 -31
  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 +194 -38
  6. package/build/index.esm.js +168 -28
  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 +182 -31
  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/core/client.d.ts +5 -7
  15. package/esm/core/client.js +9 -4
  16. package/esm/core/client.js.map +1 -1
  17. package/esm/core/controllers/aggregate.d.ts +3 -0
  18. package/esm/core/controllers/aggregate.js +3 -0
  19. package/esm/core/controllers/aggregate.js.map +1 -1
  20. package/esm/core/controllers/all.d.ts +7 -2
  21. package/esm/core/controllers/all.js +16 -1
  22. package/esm/core/controllers/all.js.map +1 -1
  23. package/esm/core/controllers/category.js +1 -1
  24. package/esm/core/controllers/category.js.map +1 -1
  25. package/esm/core/controllers/link.d.ts +9 -0
  26. package/esm/core/controllers/link.js +10 -0
  27. package/esm/core/controllers/link.js.map +1 -0
  28. package/esm/core/controllers/note.d.ts +8 -1
  29. package/esm/core/controllers/note.js +10 -2
  30. package/esm/core/controllers/note.js.map +1 -1
  31. package/esm/core/controllers/page.d.ts +7 -1
  32. package/esm/core/controllers/page.js +9 -2
  33. package/esm/core/controllers/page.js.map +1 -1
  34. package/esm/core/controllers/post.d.ts +8 -1
  35. package/esm/core/controllers/post.js +10 -2
  36. package/esm/core/controllers/post.js.map +1 -1
  37. package/esm/core/controllers/project.d.ts +9 -0
  38. package/esm/core/controllers/project.js +10 -0
  39. package/esm/core/controllers/project.js.map +1 -0
  40. package/esm/core/controllers/recently.d.ts +33 -0
  41. package/esm/core/controllers/recently.js +32 -0
  42. package/esm/core/controllers/recently.js.map +1 -0
  43. package/esm/core/controllers/search.d.ts +58 -0
  44. package/esm/core/controllers/search.js +26 -0
  45. package/esm/core/controllers/search.js.map +1 -0
  46. package/esm/core/controllers/snippet.d.ts +18 -0
  47. package/esm/core/controllers/snippet.js +17 -0
  48. package/esm/core/controllers/snippet.js.map +1 -0
  49. package/esm/core/define.d.ts +8 -1
  50. package/esm/core/define.js +6 -0
  51. package/esm/core/define.js.map +1 -1
  52. package/esm/index.d.ts +2 -1
  53. package/esm/index.js +2 -1
  54. package/esm/index.js.map +1 -1
  55. package/esm/interfaces/client.d.ts +5 -0
  56. package/esm/interfaces/client.js +2 -0
  57. package/esm/interfaces/client.js.map +1 -0
  58. package/esm/interfaces/request.d.ts +2 -2
  59. package/esm/models/link.d.ts +17 -0
  60. package/esm/models/link.js +11 -0
  61. package/esm/models/link.js.map +1 -0
  62. package/esm/models/project.d.ts +16 -0
  63. package/esm/models/project.js +2 -0
  64. package/esm/models/project.js.map +1 -0
  65. package/esm/models/recently.d.ts +5 -0
  66. package/esm/models/recently.js +2 -0
  67. package/esm/models/recently.js.map +1 -0
  68. package/esm/models/snippet.d.ts +14 -0
  69. package/esm/models/snippet.js +7 -0
  70. package/esm/models/snippet.js.map +1 -0
  71. package/esm/types/helper.d.ts +2 -0
  72. package/esm/types/helper.js +2 -0
  73. package/esm/types/helper.js.map +1 -0
  74. package/esm/utils/index.js +6 -6
  75. package/esm/utils/index.js.map +1 -1
  76. package/lib/core/client.d.ts +5 -7
  77. package/lib/core/client.js +9 -4
  78. package/lib/core/client.js.map +1 -1
  79. package/lib/core/controllers/aggregate.d.ts +3 -0
  80. package/lib/core/controllers/aggregate.js +3 -0
  81. package/lib/core/controllers/aggregate.js.map +1 -1
  82. package/lib/core/controllers/all.d.ts +7 -2
  83. package/lib/core/controllers/all.js +21 -1
  84. package/lib/core/controllers/all.js.map +1 -1
  85. package/lib/core/controllers/category.js +1 -1
  86. package/lib/core/controllers/category.js.map +1 -1
  87. package/lib/core/controllers/link.d.ts +9 -0
  88. package/lib/core/controllers/link.js +14 -0
  89. package/lib/core/controllers/link.js.map +1 -0
  90. package/lib/core/controllers/note.d.ts +8 -1
  91. package/lib/core/controllers/note.js +10 -2
  92. package/lib/core/controllers/note.js.map +1 -1
  93. package/lib/core/controllers/page.d.ts +7 -1
  94. package/lib/core/controllers/page.js +9 -2
  95. package/lib/core/controllers/page.js.map +1 -1
  96. package/lib/core/controllers/post.d.ts +8 -1
  97. package/lib/core/controllers/post.js +10 -2
  98. package/lib/core/controllers/post.js.map +1 -1
  99. package/lib/core/controllers/project.d.ts +9 -0
  100. package/lib/core/controllers/project.js +14 -0
  101. package/lib/core/controllers/project.js.map +1 -0
  102. package/lib/core/controllers/recently.d.ts +33 -0
  103. package/lib/core/controllers/recently.js +36 -0
  104. package/lib/core/controllers/recently.js.map +1 -0
  105. package/lib/core/controllers/search.d.ts +58 -0
  106. package/lib/core/controllers/search.js +30 -0
  107. package/lib/core/controllers/search.js.map +1 -0
  108. package/lib/core/controllers/snippet.d.ts +18 -0
  109. package/lib/core/controllers/snippet.js +21 -0
  110. package/lib/core/controllers/snippet.js.map +1 -0
  111. package/lib/core/define.d.ts +8 -1
  112. package/lib/core/define.js +6 -0
  113. package/lib/core/define.js.map +1 -1
  114. package/lib/index.d.ts +2 -1
  115. package/lib/index.js +14 -5
  116. package/lib/index.js.map +1 -1
  117. package/lib/interfaces/client.d.ts +5 -0
  118. package/lib/interfaces/client.js +3 -0
  119. package/lib/interfaces/client.js.map +1 -0
  120. package/lib/interfaces/request.d.ts +2 -2
  121. package/lib/models/link.d.ts +17 -0
  122. package/lib/models/link.js +14 -0
  123. package/lib/models/link.js.map +1 -0
  124. package/lib/models/project.d.ts +16 -0
  125. package/lib/models/project.js +3 -0
  126. package/lib/models/project.js.map +1 -0
  127. package/lib/models/recently.d.ts +5 -0
  128. package/lib/models/recently.js +3 -0
  129. package/lib/models/recently.js.map +1 -0
  130. package/lib/models/snippet.d.ts +14 -0
  131. package/lib/models/snippet.js +10 -0
  132. package/lib/models/snippet.js.map +1 -0
  133. package/lib/types/helper.d.ts +2 -0
  134. package/lib/types/helper.js +3 -0
  135. package/lib/types/helper.js.map +1 -0
  136. package/lib/utils/index.js +6 -6
  137. package/lib/utils/index.js.map +1 -1
  138. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.min.js","sources":["../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/utils/index.ts","../src/core/attachRequest.ts","../src/models/category.ts","../src/core/controllers/note.ts","../src/core/controllers/post.ts","../src/core/controllers/all.ts","../src/core/controllers/aggregate.ts","../src/core/controllers/category.ts","../src/core/controllers/comment.ts","../src/core/controllers/page.ts","../src/core/controllers/base.ts","../src/core/controllers/say.ts","../src/core/controllers/user.ts","../src/core/error.ts","../src/core/client.ts","../src/core/define.ts"],"sourcesContent":["'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,null,null,null,null,null,null,null,null,null],"names":["isObject","value","mapObjectSkip","Symbol","isObjectCustom","RegExp","Error","Date","mapObject","object","mapper","options","isSeen","WeakMap","deep","target","has","get","set","mapArray","array","map","element","Array","isArray","key","Object","entries","mapResult","newKey","newValue","shouldRecurse","mapObjModule","TypeError","camelCase","input","pascalCase","preserveConsecutiveUppercase","x","trim","filter","length","join","toLocaleUpperCase","locale","toLocaleLowerCase","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","i","character","test","slice","preserveCamelCase","replace","m1","toLowerCase","charAt","_","p1","m","postProcess","camelcaseModule","QuickLRU","[object Object]","maxSize","this","onEviction","cache","Map","oldCache","_size","delete","_set","deleted","clear","iterator","item","size","oldCacheSize","keys","Math","min","quickLru","mapObj","require$$0","require$$1","require$$2","camelCaseConvert","exclude","stopPaths","stopPathsSet","Set","makeMapper","parentPath","path","undefined","some","lastIndex","cacheKey","returnValue","attachRawFromOneToAnthor","from","to","raw","defineProperty","enumerable","request","attachRequestMethod","url","params","qs","obj","URLSearchParams","toString","search","forEach","k","v","prototype","call","handleSearchParams","instance","post","CategoryType","NoteController","client","proxy","base","latest","id","password","nid","page","perPage","list","like","PostController","idOrCategoryName","slug","arguments","allControllers","top","sort","type","year","timeline","order","asc","desc","stat","Category","Tag","ids","data","result","values","RequestError","idOrSlug","payload","d","assign","destructureData","name","tag","refId","pagination","ref","commentId","reply","all","super","random","username","login","token","check_logged","allContollerNames","message","status","HTTPClient","master","user","_endpoint","_instance","_proxy","buildRoute","initGetClient","clientsName","Reflect","ReferenceError","toUpperCase","configurable","Controller","rest","Client","cl","endpoint","String","method","startsWith","manager","noop","methods","reflectors","toPrimitive","for","that","route","handler","includes","async","resolveFullPath","res","e","code","statusCode","response","transform","camelcaseKeys","push","Proxy","apply","args","adapter"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.min.js","sources":["../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/utils/index.ts","../src/core/attachRequest.ts","../src/core/controllers/aggregate.ts","../src/models/category.ts","../src/core/controllers/category.ts","../src/core/controllers/comment.ts","../src/core/controllers/base.ts","../src/core/controllers/link.ts","../src/core/controllers/note.ts","../src/core/controllers/page.ts","../src/core/controllers/post.ts","../src/core/controllers/project.ts","../src/core/controllers/recently.ts","../src/core/controllers/say.ts","../src/core/controllers/search.ts","../src/core/controllers/snippet.ts","../src/core/controllers/user.ts","../src/core/controllers/all.ts","../src/core/error.ts","../src/core/client.ts","../src/core/define.ts"],"sourcesContent":["'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,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["isObject","value","mapObjectSkip","Symbol","isObjectCustom","RegExp","Error","Date","mapObject","object","mapper","options","isSeen","WeakMap","deep","target","has","get","set","mapArray","array","map","element","Array","isArray","key","Object","entries","mapResult","newKey","newValue","shouldRecurse","mapObjModule","TypeError","camelCase","input","pascalCase","preserveConsecutiveUppercase","x","trim","filter","length","join","toLocaleUpperCase","locale","toLocaleLowerCase","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","i","character","test","slice","preserveCamelCase","replace","m1","toLowerCase","charAt","_","p1","m","postProcess","camelcaseModule","QuickLRU","[object Object]","maxSize","this","onEviction","cache","Map","oldCache","_size","delete","_set","deleted","clear","iterator","item","size","oldCacheSize","keys","Math","min","quickLru","mapObj","require$$0","require$$1","require$$2","camelCaseConvert","exclude","stopPaths","stopPathsSet","Set","makeMapper","parentPath","path","undefined","some","lastIndex","cacheKey","returnValue","attachRawFromOneToAnthor","from","to","$raw","defineProperty","enumerable","$request","attachRequestMethod","url","params","qs","obj","URLSearchParams","toString","search","forEach","k","v","prototype","call","handleSearchParams","instance","post","AggregateController","client","proxy","base","top","sort","type","year","timeline","order","asc","desc","stat","CategoryType","CategoryController","Category","Tag","ids","data","result","values","RequestError","id","idOrSlug","payload","d","assign","destructureData","name","tag","CommentController","refId","pagination","page","ref","commentId","reply","BaseCrudController","all","perPage","LinkController","super","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","message","status","raw","HTTPClient","master","user","friend","link","shorthand","recently","_endpoint","_instance","_proxy","buildRoute","initGetClient","clientsName","Reflect","ReferenceError","toUpperCase","configurable","Controller","rest","Client","cl","endpoint","String","method","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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"}
package/build/index.d.ts CHANGED
@@ -1,9 +1,14 @@
1
1
  // Generated by dts-bundle-generator v5.9.0
2
2
 
3
+ export declare type Class<T> = new (...args: any[]) => T;
4
+ export declare type SelectFields<T extends string> = `${"+" | "-" | ""}${T}`[];
3
5
  export interface IController {
4
6
  base: string;
5
7
  name: string;
6
8
  }
9
+ export declare type ClientOptions = {
10
+ controllers?: Class<IController>[];
11
+ };
7
12
  export interface RequestOptions {
8
13
  method?: string;
9
14
  data?: Record<string, any>;
@@ -35,8 +40,8 @@ export declare type RequestProxyResult<T, R = {
35
40
  [key: string]: any;
36
41
  }> = Promise<ResponseProxyExtraRaw<T, R>>;
37
42
  export declare type ResponseProxyExtraRaw<T, R = any> = T & {
38
- raw: R;
39
- request: {
43
+ $raw: R;
44
+ $request: {
40
45
  path: string;
41
46
  method: string;
42
47
  [k: string]: string;
@@ -124,6 +129,10 @@ export interface PaginateResult<T> {
124
129
  data: T[];
125
130
  pagination: Pager;
126
131
  }
132
+ declare class BaseModel {
133
+ created?: Date;
134
+ id?: string;
135
+ }
127
136
  export interface PostModel {
128
137
  commentsIndex: number;
129
138
  allowComment: boolean;
@@ -231,7 +240,7 @@ export interface AggregateStat {
231
240
  uv: number;
232
241
  todayIPAccessCount: number;
233
242
  }
234
- declare class AggregateController implements IController {
243
+ export declare class AggregateController implements IController {
235
244
  private client;
236
245
  base: string;
237
246
  name: string;
@@ -250,6 +259,9 @@ declare class AggregateController implements IController {
250
259
  type?: TimelineType;
251
260
  year?: number;
252
261
  }): RequestProxyResult;
262
+ /**
263
+ * 获取聚合数据统计
264
+ */
253
265
  getStat(): RequestProxyResult;
254
266
  }
255
267
  declare enum CategoryType {
@@ -272,7 +284,7 @@ export interface TagModel {
272
284
  count: number;
273
285
  name: string;
274
286
  }
275
- declare class CategoryController implements IController {
287
+ export declare class CategoryController implements IController {
276
288
  private client;
277
289
  name: string;
278
290
  base: string;
@@ -339,7 +351,7 @@ declare class CommentDto {
339
351
  mail: string;
340
352
  url?: string;
341
353
  }
342
- declare class CommentController implements IController {
354
+ export declare class CommentController implements IController {
343
355
  private readonly client;
344
356
  base: string;
345
357
  name: string;
@@ -363,7 +375,50 @@ declare class CommentController implements IController {
363
375
  */
364
376
  reply(commentId: string, data: CommentDto): RequestProxyResult;
365
377
  }
366
- declare class NoteController implements IController {
378
+ declare enum LinkType {
379
+ Friend = 0,
380
+ Collection = 1
381
+ }
382
+ declare enum LinkState {
383
+ Pass = 0,
384
+ Audit = 1
385
+ }
386
+ export interface LinkModel {
387
+ id: string;
388
+ name: string;
389
+ url: string;
390
+ avatar: string;
391
+ description?: string;
392
+ type: LinkType;
393
+ state: LinkState;
394
+ }
395
+ declare abstract class BaseCrudController<T> {
396
+ protected client: HTTPClient;
397
+ base: string;
398
+ constructor(client: HTTPClient);
399
+ protected get proxy(): IRequestHandler;
400
+ getById(id: string): RequestProxyResult;
401
+ getAll(): RequestProxyResult;
402
+ /**
403
+ * 带分页的查询
404
+ * @param page
405
+ * @param perPage
406
+ */
407
+ getAllPaginated(page?: number, perPage?: number): RequestProxyResult;
408
+ }
409
+ export declare class LinkController extends BaseCrudController<LinkModel> {
410
+ protected readonly client: HTTPClient;
411
+ constructor(client: HTTPClient);
412
+ name: string;
413
+ base: string;
414
+ }
415
+ export declare type NoteListOptions = {
416
+ select?: SelectFields<keyof NoteModel>;
417
+ year?: number;
418
+ sortBy?: "weather" | "mood" | "title" | "created" | "modified";
419
+ sortOrder?: 1 | -1;
420
+ };
421
+ export declare class NoteController implements IController {
367
422
  private client;
368
423
  base: string;
369
424
  name: string;
@@ -382,7 +437,7 @@ declare class NoteController implements IController {
382
437
  /**
383
438
  * 日记列表分页
384
439
  */
385
- getList(page?: number, perPage?: number): RequestProxyResult;
440
+ getList(page?: number, perPage?: number, options?: NoteListOptions): RequestProxyResult;
386
441
  /**
387
442
  * 获取当前日记的上下各 n / 2 篇日记
388
443
  */
@@ -392,7 +447,12 @@ declare class NoteController implements IController {
392
447
  */
393
448
  likeIt(id: string): RequestProxyResult;
394
449
  }
395
- declare class PageController implements IController {
450
+ export declare type PageListOptions = {
451
+ select?: SelectFields<keyof PageModel>;
452
+ sortBy?: "order" | "subtitle" | "title" | "created" | "modified";
453
+ sortOrder?: 1 | -1;
454
+ };
455
+ export declare class PageController implements IController {
396
456
  private readonly client;
397
457
  constructor(client: HTTPClient);
398
458
  base: string;
@@ -401,7 +461,7 @@ declare class PageController implements IController {
401
461
  /**
402
462
  * 页面列表
403
463
  */
404
- getList(page?: number, perPage?: number): RequestProxyResult;
464
+ getList(page?: number, perPage?: number, options?: PageListOptions): RequestProxyResult;
405
465
  /**
406
466
  * 页面详情
407
467
  */
@@ -413,7 +473,13 @@ declare class PageController implements IController {
413
473
  */
414
474
  getBySlug(slug: string): RequestProxyResult;
415
475
  }
416
- declare class PostController implements IController {
476
+ export declare type PostListOptions = {
477
+ select?: SelectFields<keyof PostModel>;
478
+ year?: number;
479
+ sortBy?: "categoryId" | "title" | "created" | "modified";
480
+ sortOrder?: 1 | -1;
481
+ };
482
+ export declare class PostController implements IController {
417
483
  private client;
418
484
  constructor(client: HTTPClient);
419
485
  base: string;
@@ -425,7 +491,7 @@ declare class PostController implements IController {
425
491
  * @param perPage
426
492
  * @returns
427
493
  */
428
- getList(page?: number, perPage?: number): RequestProxyResult<PaginateResult<PostModel>, {
494
+ getList(page?: number, perPage?: number, options?: PostListOptions): RequestProxyResult<PaginateResult<PostModel>, {
429
495
  [key: string]: any;
430
496
  data: PaginateResult<PostModel>;
431
497
  }>;
@@ -455,21 +521,42 @@ declare class PostController implements IController {
455
521
  data: void;
456
522
  }>;
457
523
  }
458
- declare abstract class BaseCrudController<T> {
459
- protected client: HTTPClient;
524
+ export interface ProjectModel {
525
+ id?: string;
526
+ name: string;
527
+ previewUrl?: string;
528
+ docUrl?: string;
529
+ projectUrl?: string;
530
+ images?: string[];
531
+ description: string;
532
+ avatar?: string;
533
+ text: string;
534
+ }
535
+ export declare class ProjectController extends BaseCrudController<ProjectModel> {
536
+ protected readonly client: HTTPClient;
537
+ constructor(client: HTTPClient);
460
538
  base: string;
539
+ name: string;
540
+ }
541
+ export interface RecentlyModel {
542
+ content: string;
543
+ created: string;
544
+ id: string;
545
+ }
546
+ export declare class RecentlyController implements IController {
547
+ private readonly client;
548
+ base: string;
549
+ name: string;
461
550
  constructor(client: HTTPClient);
462
- protected get proxy(): IRequestHandler;
463
- getById(id: string): RequestProxyResult;
464
- getAll(): RequestProxyResult;
551
+ get proxy(): IRequestHandler;
465
552
  /**
466
- * 带分页的查询
467
- * @param page
468
- * @param perPage
553
+ * 获取最新一条
469
554
  */
470
- getAllPaginated(page?: number, perPage?: number): RequestProxyResult;
555
+ getLatestOne(): RequestProxyResult;
556
+ getAll(): RequestProxyResult;
557
+ getList(before?: string | undefined, after?: string | undefined, size?: number | number): RequestProxyResult;
471
558
  }
472
- declare class SayController extends BaseCrudController<SayModel> implements IController {
559
+ export declare class SayController extends BaseCrudController<SayModel> implements IController {
473
560
  protected client: HTTPClient;
474
561
  base: string;
475
562
  name: string;
@@ -480,7 +567,80 @@ declare class SayController extends BaseCrudController<SayModel> implements ICon
480
567
  */
481
568
  getRandom(): RequestProxyResult;
482
569
  }
483
- declare class UserController implements IController {
570
+ export declare type SearchOption = {
571
+ orderBy?: string;
572
+ order?: number;
573
+ rawAlgolia?: boolean;
574
+ };
575
+ export declare class SearchController implements IController {
576
+ private readonly client;
577
+ base: string;
578
+ name: string;
579
+ constructor(client: HTTPClient);
580
+ get proxy(): import("~/interfaces/request").IRequestHandler;
581
+ search(type: "note", keyword: string, options?: Omit<SearchOption, "rawAlgolia">): Promise<RequestProxyResult<PaginateResult<Pick<NoteModel, "modified" | "id" | "title" | "created" | "nid">>>>;
582
+ search(type: "post", keyword: string, options?: Omit<SearchOption, "rawAlgolia">): Promise<RequestProxyResult<PaginateResult<Pick<PostModel, "modified" | "id" | "title" | "created" | "slug" | "category">>>>;
583
+ /**
584
+ * 从 algolya 搜索
585
+ * https://www.algolia.com/doc/api-reference/api-methods/search/
586
+ * @param keyword
587
+ * @param options
588
+ * @returns
589
+ */
590
+ searchByAlgolia(keyword: string, options?: SearchOption): RequestProxyResult<RequestProxyResult<PaginateResult<Pick<PostModel, "created" | "id" | "modified" | "title" | "slug" | "category">> & {
591
+ /**
592
+ * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
593
+ */
594
+ raw?: any;
595
+ }, {
596
+ [key: string]: any;
597
+ data: PaginateResult<Pick<PostModel, "created" | "id" | "modified" | "title" | "slug" | "category">> & {
598
+ /**
599
+ * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
600
+ */
601
+ raw?: any;
602
+ };
603
+ }>, {
604
+ [key: string]: any;
605
+ data: RequestProxyResult<PaginateResult<Pick<PostModel, "created" | "id" | "modified" | "title" | "slug" | "category">> & {
606
+ /**
607
+ * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
608
+ */
609
+ raw?: any;
610
+ }, {
611
+ [key: string]: any;
612
+ data: PaginateResult<Pick<PostModel, "created" | "id" | "modified" | "title" | "slug" | "category">> & {
613
+ /**
614
+ * @see: algoliasearch <https://www.algolia.com/doc/api-reference/api-methods/search/>
615
+ */
616
+ raw?: any;
617
+ };
618
+ }>;
619
+ }>;
620
+ }
621
+ declare enum SnippetType {
622
+ JSON = "json",
623
+ Text = "text"
624
+ }
625
+ export interface SnippetModel extends BaseModel {
626
+ type: SnippetType;
627
+ private: boolean;
628
+ raw: string;
629
+ name: string;
630
+ reference: string;
631
+ comment?: string;
632
+ metatype?: string;
633
+ }
634
+ export declare class SnippetController implements IController {
635
+ protected client: HTTPClient;
636
+ base: string;
637
+ name: string;
638
+ constructor(client: HTTPClient);
639
+ get proxy(): IRequestHandler;
640
+ getById(id: string): RequestProxyResult;
641
+ getByReferenceAndName(reference: string, name: string): RequestProxyResult;
642
+ }
643
+ export declare class UserController implements IController {
484
644
  private readonly client;
485
645
  constructor(client: HTTPClient);
486
646
  base: string;
@@ -490,18 +650,25 @@ declare class UserController implements IController {
490
650
  login(username: string, password: string): RequestProxyResult;
491
651
  checkTokenValid(token: string): RequestProxyResult;
492
652
  }
493
- declare const allControllers: (typeof AggregateController | typeof CategoryController | typeof CommentController | typeof NoteController | typeof PageController | typeof PostController | typeof SayController | typeof UserController)[];
494
- declare const allContollerNames: string[];
653
+ 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)[];
654
+ export declare const allContollerNames: string[];
495
655
  declare class HTTPControllerDefine {
496
656
  aggregate: AggregateController;
497
657
  category: CategoryController;
498
658
  comment: CommentController;
659
+ link: LinkController;
499
660
  note: NoteController;
500
661
  page: PageController;
501
662
  post: PostController;
663
+ project: ProjectController;
664
+ recently: RecentlyController;
502
665
  say: SayController;
666
+ search: SearchController;
667
+ snippet: SnippetController;
503
668
  user: UserController;
504
669
  get master(): UserController;
670
+ get friend(): LinkController;
671
+ get shorthand(): RecentlyController;
505
672
  }
506
673
  export declare class HTTPClient extends HTTPControllerDefine {
507
674
  private _endpoint;
@@ -509,12 +676,8 @@ export declare class HTTPClient extends HTTPControllerDefine {
509
676
  private _proxy;
510
677
  constructor(_endpoint: string, _instance: IRequestAdapter);
511
678
  private initGetClient;
512
- injectControllers<T extends {
513
- new (client: HTTPClient): IController;
514
- }>(...Controller: T[]): void;
515
- injectControllers<T extends {
516
- new (client: HTTPClient): IController;
517
- }>(Controller: T[]): void;
679
+ injectControllers(...Controller: Class<IController>[]): void;
680
+ injectControllers(Controller: Class<IController>[]): void;
518
681
  get endpoint(): string;
519
682
  get instance(): IRequestAdapter;
520
683
  request(options: {
@@ -527,7 +690,7 @@ export declare class HTTPClient extends HTTPControllerDefine {
527
690
  private resolveFullPath;
528
691
  private buildRoute;
529
692
  }
530
- export declare function createClient<T extends IRequestAdapter>(adapter: T): (endpoint: string) => HTTPClient;
693
+ export declare function createClient<T extends IRequestAdapter>(adapter: T): (endpoint: string, options?: ClientOptions | undefined) => HTTPClient;
531
694
  export declare class RequestError extends Error {
532
695
  status: number;
533
696
  path: string;
@@ -535,11 +698,4 @@ export declare class RequestError extends Error {
535
698
  constructor(message: string, status: number, path: string, raw: any);
536
699
  }
537
700
 
538
- export {
539
- NoteController as NoteClient,
540
- PostController as PostClient,
541
- allContollerNames as allClientName,
542
- allControllers as allClients,
543
- };
544
-
545
701
  export {};